python读取⽂件之withopen()
读写⽂件是最常见的IO操作。Python内置了读写⽂件的函数,⽤法和C是兼容的。
open()VS with open()
⽬前最常使⽤的是with open()函数,⾸先介绍它和open()的区别:
open()完成后必须调⽤close()⽅法关闭⽂件,因为⽂件对象会占⽤操作系统的资源,并且操作系统同⼀时间能打开的⽂件数量也是有限的,由于⽂件读写时都有可能产⽣IOError,⼀旦出错,后⾯的f.close()就不会调⽤。
为了解决这个⿇烦,Python引⼊了with语句来⾃动帮我们调⽤close()⽅法:
#⽂件的读操作
with open('','r')as f:#r为标识符,表⽰只读
ad_csv(f)
ad())
'''
其他标识符:
r: 以只读⽅式打开⽂件。
rb: 以⼆进制格式打开⼀个⽂件⽤于只读。
r+: 打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
rb+:以⼆进制格式打开⼀个⽂件⽤于读写。
'''
#⽂件的写操作
python怎么读取桌面上的文件
with open('output_filename.csv','w')as f:
f.write('hello world')
'''
其他标识符:
w: 打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
wb: 以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
w+: 打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
wb+:以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
a:打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
ab: 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
a+: 打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。
ab+:以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。
'''
⽅法及属性
file.write(str)#将字符串写⼊⽂件
file.writelines(strings)#将字符串序列写⼊⽂件
file.close()#关闭⽂件
file.closed #返回布尔值,⽂件已经被关闭为True,否则为False
file.name #⽂件名
file.softspace #为0表⽰在输出⼀数据后,要加上⼀个空格符,1表⽰不加。这个属性⼀般程序员⽤不着,由程序内部使⽤
注意
1. 要读取⾮UTF-8编码的⽂本⽂件,需要给open()函数传⼊encoding参数
2. 读取时调⽤read()将⼀次性读取⽂件的全部内容,如果⽂件有10G,内存就爆了,保险起见可反复调⽤read(size)⽅法,每次最多读
取size个字节的内容。
3. 调⽤readline()可以每次读取⼀⾏内容,调⽤readlines()⼀次读取所有内容并按⾏返回list。
4. 根据需要调⽤:如果⽂件很⼩,read()⼀次性读取最⽅便;如果不能确定⽂件⼤⼩,反复调⽤read(size)⽐较保险;如果是配置⽂件,
调⽤readlines()最⽅便

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。