Python——文件读写

来源:互联网 发布:下载mp4连续剧软件 编辑:程序博客网 时间:2024/06/18 05:11

Python之文件读写。

读写文件使用IO操作。

Python内置了读写的函数,用法和C语言兼容


读文件

f=open('D:/1code/1.txt','r')

标识符'r'表示读

如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误嘛和详细信息告诉你文件不存在


如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python吧内容读到内存,用一个str对象表示

>>> f.read()'hello'

最后一步是调用close()函数方法关闭文件,文件使用完毕后必须关闭,因为文件对象会调用操作系统的资源

>>>f.close()

由于文件读写时都可能产生IOError,一旦出错,后面的f.close()就不会被调用。

所以需要进行异常处理,Python引入了with语句来自动帮我们调用close()方法

with open ('/path/to/file','r') as f:<span style="white-space:pre"></span>print(f.read())


调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。


如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

for line in f.readlines():    print(line.strip()) # 把末尾的'\n'删掉


写文件

>>> f = open('D:/1code/1.txt', 'w')>>> f.write('Hello, world!')>>> f.close()

你可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险:

with open('D:/1code/1.txt', 'w') as f:    f.write('Hello, world!')






0 0
原创粉丝点击