Python如何使用标准库tmpfile库创建临时文件
作者:AllardZhao
这篇文章主要介绍了Python如何使用标准库tmpfile库创建临时文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
如何使用临时文件
实际案例
某项目中,我们从传感器采集数据,每收集到1G数据后,做数据分析,最终只保存分析结果。
这样很大的临时数据如果常驻内存,将消耗大量内存资源,我们可以使用临时文件存储这些临时数据(外部存储)。
临时文件不同命名,且关闭后会自动被删除。
解决方案
使用标准库中tmpfile下的TemporaryFile,NamedTemporaryFile。
代码演示
from tempfile import TemporaryFile, NamedTemporaryFile ''' TemporaryFile和NamedTemporaryFile区别: (1) NamedTemporaryFile会创建带名字的临时文件; TemporaryFile创建的临时文件不带名字 (2)TemporaryFile创建的临时文件,不能由文件系统路径找到它,只能由对象访问; 创建一个能在文件系统中找到的临时文件,使用NamedTemporaryFile。 (3)临时文件在关闭以后,它会自动删除掉。 NamedTemporaryFile可以指参数delete=False, 在文件关闭以后不删除临时文件。在这种情况下可以 多个进程同时访问,由文件系统的路径访问文件; 而TemporaryFile只能在本进程下访问。 ''' # (1)TemporaryFile创建临时文件 # 返回一个临时文件对象 f = TemporaryFile() f.write(b'abcdef' * 100000) # 将文件指针指回到文件首部 f.seek(0) # 只读取文件一部分数据 print(f.read(100)) # (2) NamedTemporaryFile创建临时文件 # 返回的并不直接是一个文件对象 ntf = NamedTemporaryFile() # 可以通过name属性,得到在文件系统下的路径 print(ntf.name) # 在文件关闭以后不删除临时文件 # ntf = NamedTemporaryFile(delete=False)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。