###############    python-简单的文件操作  ###############

# python中文件的操作
# 文件操作的基本套路
# 1,打开文件,默认是是只读方式打开文件
# 2,读写文件,默认是从文件的开始读取数据,也就是读取文件的所有内容
# 3,关闭文件,文件必须要关闭,否则会造成系统资源消耗,而且户影响后续会文件的访问 # 常用方法:
# open
# write
# read
# close
# readline,这个什么时候用, # 文件打开方式:
# 语法如下:open(文件名,读取方式)
# r,只读,这是默认打开方式
# w,只写,
# a,追加,
# r+,以读写方式打开,如果文件不存在,抛出异常
# w+,以读写方式打开,如果文件不存在,创建文件,
# a+,以读写方式打开,如果文件存在,指针放到文件末尾,如果文件不存在,创建文件, def read(file):
file=open(file,'r')
text=file.read()
print(text)
file.close() def write(file):
file=open(file,'w+')
file.write('12345')
file.close() def add(file):
file=open(file,'a+')
file.write('12345')
file.close() def write_big_text(file): # 读取大文件
# 打开
file = open(file, 'r')
# 读取
while True:
text=file.readline()
print(text,end='') # 读取每一行的末尾默认已经有了一个'\n' if not text:
break
# 关闭
file.close() def copy_file_small(file): # 小文件的复制
# 打开文件
file = open(file,'r')
file2 = open('text2.txt', 'w+')
# 读取,写入文件
text=file.read()
file2.write(text)
# 关闭文件
file.close()
file2.close() def copy_file_big(file): # 大文件的复制
# 打开文件
file = open(file,'r')
file2 = open('text3.txt', 'w+')
# 读取,写入文件
while True:
text=file.readline()
if not text:
break
file2.write(text)
# 关闭文件
file.close()
file2.close() # 使用open每次都要关闭,太麻烦,而且会影响文件的后续操作,所以最常用的还是使用with打开文件,这样就不用调用close方法了,
def open_with(file):
with open(file,'r') as f:
text=f.read()
print(text) file='./test.txt'
open_with(file)

使用try ... except来打开文件

def open_file(file):
try:
with open(file,'r') as f :
text=f.read()
print(text)
except FileNotFoundError:
print('文件不存在')
except Exception as result:
print('未知错误%s'%result) file = '123.txt'
open_file(file)

###############################################

简述with方法打开处理文件帮我我们做了什么?

打开文件在进行读写的时候可能会出现一些异常状况,如果按照常规的f.open
写法,我们需要try,except,finally,做异常判断,并且文件最终不管遇到什么情况,都要执行finally f.close()关闭文件,with方法帮我们实现了finally中f.close

##############################################

python语法基础-文件操作-长期维护的更多相关文章

  1. python语法基础-异常操作-长期维护

    ###############    python-异常的操作  ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异 ...

  2. python语法基础-常用模块-长期维护

    ###############      常用模块   ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # ...

  3. python语法基础-面向对象-进阶-长期维护

    ###############    @property定义属性    ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # ...

  4. python语法基础-函数-进阶-长期维护

    ###############    函数的命名空间和作用域    ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ...

  5. python语法基础-函数-递归函数-长期维护

    ###############    递归   ############## # 递归的定义——在一个函数里再调用这个函数本身 # 递归的最大深度——998 # 二分查找算法 # 你观察这个列表,这是 ...

  6. python语法_文件操作

    牢记“”“能调用方法的一定是对象”“” 文件的操作流程, 1 建立文件(打开文件)open('filename','模式').read() [这一步其实就是创建对象] 2 通过句柄进行操作 3 关闭o ...

  7. 08、python的基础--->文件操作

    注:用btyes方式的一般都是在“非文字类的(比如图片)” 1.文件的读取 >>>第1种 #绝对路径 s = open('E:\天气.txt', mode='r', encoding ...

  8. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  9. python os&shutil 文件操作

    python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...

随机推荐

  1. 遍历数组提取List[Int]

    def toFlatMap(input:List[Any],result:List[Int]):List[Int]=input match{ case h::t=>h match {case e ...

  2. html_位置偏移属性position

    定位属性 位置属性position:static.relative.absolute.fixed 偏移属性:top.bottom.left.right 浮动定位属性:float/clear 1.浮动定 ...

  3. java-正则表达式判断移动联通电信手机号

    package com.linbilin.phone; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

  4. jquery---利用jquery插件生成二维码

    <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/jquer ...

  5. {转} MJPG流媒体在HTML5的呈现方案

    最近碰到的需求:监控探头视频呈现到html页面上. 视频源协议:HLS; 视频源格式:Motion JPEG 简称 MJPG; 其中Motion JPEG(M-JPEG或MJPEG,Motion Jo ...

  6. IP首部检验和的计算和举例

    IP首部校验和 首部校验和(16位)字段只检验数据报的首部,不检验数据部分.这里不采用CRC检验码而采用简单的计算方法. 发送端 首先将检验和置零,求首部数据的补码和(包含检验和),因为为零,所以无影 ...

  7. java类的实例化顺序

    1. 父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行 2. 子类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行 3. 父类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行 4 ...

  8. JS 日期格式化为 2020-11-01 22:33:44 格式

    项目中经常会用到将JS日期格式化输出为 标准格式(2020-11-01 22:33:44)的问题.写个精简版的,代码如下: function formatDate(d){ d = d || new D ...

  9. iTOP-4412-Ubuntu系统源码-ubuntu没有声音的解决办法

    准备工作 1.下载 vim 在命令行上输入 apt-get install vim 下载 vim 2.输入 vim /etc/hosts 在所打开界面的第一行最后写上 iTOP4412-ubuntu- ...

  10. MyBatis学习——动态SQL

    开发人员在使用JDBC框架或者其他类似的框架进行数据库开发时,通常都要根据需求去手动拼接SQL,这样非常麻烦,而myBatis提供了对SQL语句动态组装的功能,恰好解决了这一问题. 一,动态SQL中的 ...