python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python标准库tmpfile库创建临时文件

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)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文