python使用临时文件
使用临时文件的好处:临时文件不用命名,且关闭后会自动被删除
解决方案:
使用标准库中tempfile下的TemporaryFile,NamedTemporaryFile
TemporaryFile 和 NamedTemporaryFile这两个对象都是创建临时文件,不同点是NameTemporaryFile可以创建一个带名字的临时文件,能通过文件系统找到。
TemporaryFile创建的临时文件不能通过文件系统路径找到。(只能用对象来访问)
举个栗子:
f = TemporaryFile( )
f.write('abcdefg' * 100000)
f.seek(0) #注意读取文件时候要将文件指针指向第一个
f.read(100) #不要一次都将内容读出,太消耗内存
'abcdefgabcdefg..........'
f1 = NamedTemporaryFile( )
f1.name #可以返回一个临时文件的地址'/tmp/tmpKtkVM6'
f1.write('atlll\n'*20)
f1.seek(0)
可以另起一个窗口去find / -name 'tmpKtkVM6'
cat tmpKtkVM6
atlll
atlll
atlll
....
(如果要在文件关闭之后不对这个文件进行删除,可以指定一个参数delete = False)