python中的文件读写(open()函数、with open('file_directory','r') as f:、read()函数等)

2018/07/10 08:53
阅读数 54

python中也有文件读写,通过调用内置的读写函数。可以完成文件的打开/关闭、读、写入、追加等功能。 ###open()函数 open()函数为python中的打开文件函数,使用方式为: f = open("[文件绝对路径]",'[文件使用模式') 以 f = open('/home/user/lina/info_lina.txt','r')为例,我们在linux环境中以r(只读模式)打开/home/user/lina/info_lina.txt的文件,此处路径也可以为相对路径,相对于本程序的路径。

>>> f =  open('/home/user/lina/info_lina.txt','r')
>>> print(f.read())
---- info of lina ----
Name : lina
age : 23
f.close()  #在使用open函数打开文件时,使用完后记得关闭

###with open() as f : 使用with open() as f : 相对于直接使用open()打开文件,会好用很多,你不用担心忘记调用f.close()关闭文件,会自动给你关闭。使用模式为: with open('文件路径','使用模式') as f : 以 with open('/home/user/lina/info_lina.txt','w') as f : 为例,在linux环境下以w(读写模式)打开文件,该模式下如果文件存在就直接打开,如果不存在就创建文件。 with还可以同时打开多个文件,with open('file1') as obj1, open('file2') as obj2:

>>> with open('/home/user/lina/info_lina.txt','w') as f:
>>> f.write('\nJob : model')

####其他的打开模式 | 打开方式 | 描述| | :------: | :------: | | r | 只读模式,文件的指针将会放在文件的开头,为默认模式。只能用read()函数读 | | rb | 同上,b表示以二进制格式打开 | | r+ | 读写模式,打开一个文件可读可写。可用read()函数读,也可用write()写入 | | rb+ | 二进制模式打开文件,读写模式 | | w | 打开一个文件只用于写入,如果文件存在就覆盖,不存在就创建新文件。同理以上w+ wb+ | | a | 打开一个文件往该文件的最后追加内容,所以指针在文件的末尾,同理当文件不存在时创建一个文件。同理a+ ab+ |

####read()、read(size)、readline()、readlines()的区别和使用
我们都知道read()函数是打开文件后用来读取文件内容的。但是必须要注意的是read()函数会一次将文件内容全部读取到内存如果文件太大,你的内存就爆了!

  • 所以read()函数一般用与读小文件。
  • read(size)可以读取指定size字节的内容,常见在socket网络编程中,一个包大小为8192(即8K)当你读取内容传输时,最好小于这个大小,当然你可以重复调用read(size)读取完文件。
  • readline()每次会读取一行数据,同样可以循环调用该函数,直至读取完文件。
  • readlines()会一次性把文件读完,返回一个列表,每一行为列表中的一个元素,for line in f.readlines()可循环列表。同read()使用时注意文件大小。

**<span style="color:#2e6da4;">强烈建议:读取文件时使用for line in f:这样的循环去读取,</span>**内容会一条一条的被读取到内存。

>>> for line in f:
...     print(line)
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部