python复习之 读写文件的那些事

1.读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
2.要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:如 f = open('/Users/michael/test.txt', 'r') r是读的意思 可以用w写来替换。files需要带上文件的路径哦,如 files=r'G:/test/file1.txt'
3.如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在例子如下:

f=open('/Users/michael/notfound.txt', 'r')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/Users/michael/notfound.txt'

4.如果文件open成功了,接下来我们需要调用 read() 方法将文件读取到内存中,用一个str 对象来表示`

5.注意在使用read()的时候如果文件过大会造成撑爆内存的,建议使用read(size)多次夺取
6.最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的
f.close()
注意:由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try … finally来实现:

7.注意我们更多的是使用 with open(file,r)
为什么呢因为可以省略close(),使用with open() 会主动帮我们关闭
8.我们来说说 readline() 与 readlines()的区别
readline() 每次只读取一行,而 readlines() 一行一行的是读取所有的文件放在一个list 返回
9.写文件 使用 write()
10.要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:

>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk')
>>> f.read()

11.总结:以后读写文件都使用with open语句,不要再像以前那样用f = open()这种语句了

对于多个文件的读写,可以写成以下两种方式:

with open('/home/xbwang/Desktop/output_measures.txt','r') as f:
    open('/home/xbwang/Desktop/output_measures2.txt','r') as f1:
        open('/home/xbwang/Desktop/output_output_bk.txt','r') as f2:
       ........
       ........
       ........

或者

with open('/home/xbwang/Desktop/output_measures.txt','r') as f:
 ........
    with open('/home/xbwang/Desktop/output_measures2.txt','r') as f1:
     ........
        with open('/home/xbwang/Desktop/output_output_bk.txt','r') as 
         ........f2:
      
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值