with open( 'test.txt','r') as f: print(f . read( ) )
文件对象属性
file.closed 文件已经关闭,否则为False
file.mode 打开文件时使用的访问模式
file.encoding 文件所使用的编码
file.name 文件名
file.newlines 未读取到行分隔符时为None
文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。
f.close()使用太繁琐了,所以Python引入了with open()来自动调用close()方法
open()与with open()区别
1、open需 要主动调用close(),with不需要
2、open读取文件时发生异常,没有任何处理,with 很好的处理上下产生的异常
用with同时操作多个文件
with open("testest.py", '门) as f1, open("test/test2.py", '门) as f2:rint(f.ead()print(f2.read()
你可以反复调用write() 来写入文件,但是务必要调用f.close()来关闭文件。
写文件的原理
当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。
只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。
所以,还是用with语句好