open()和with open()
open()
filemame = open('file', mode='r')
for line in filename.readlines():
print(line)
filename.close()
with open()
with open('file', mode='r') as filename
for line in filename.readlines():
print(line)
好处:用with语句的好处就是到达语句末尾时会自动关闭文件,即使出现异常。
mode参数
方式 | 解释 |
---|---|
‘r’ | 读模式(默认) |
‘w’ | 写模式,写入时会清空文件 |
‘x’ | 写模式,新建一个文件,如果该文件已存在则会报错 |
‘a’ | 添加模式,不能读,接着源文件末尾开始写 |
‘b’ | 二进制模式(默认为文本模式,如果要以二进制模式打开,加上’b’) |
‘t’ | 文本模式(默认) |
‘+’ | 可读可写(可添加到其他模式中使用) |
‘U’ | 通用换行模式(不推荐) |
注意:
(1)r+:可读写,打开时不清空文件,可写到文件任何位置。默认在文件开始,因此会覆写文件。
(2)a+:可读写,打开时不清空文件,只能写到文件末尾。
(3)使用open()方法,最后一定要保证关闭文件对象,即调用close()方法。原因:当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘同时释放资源。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。