现在的操作系统不允许程序直接操作磁盘。所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。
-
读文件
f = open('/Users/michael/test.txt', 'r')#传入文件名和标识符
如果文件不存在,会报出IOError错误
如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示:
>>> f.read() 'Hello, world!'
最后一步是关闭流
>>> f.close()
但由于文件读写时,可能会报出IOError错误,这样会导致不会运行后面的close()导致流无法关闭,所以我们可以使用:
with open('/path/to/file', 'r') as f: print(f.read())
如果文件太大,一下读取会导致内存爆炸,因此我们可以反复调用read(size)方法,一次读取size个字节。
另外,使用readline()一次读取一行,readlines()读取所有内容并按行返回list
-
二进制文件
前面讲的默认都是读取文本文件,并且是UTF-8编码的文本文件。要读取二进制文件,