Python怎么如何使用临时文件?

Posted jujned

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python怎么如何使用临时文件?相关的知识,希望对你有一定的参考价值。

某项目中,我们从传感器采集数据,每收集到1G数据后,做数据分析,最终只保存分析结果。这样很大的临时数据如果常驻内存,将消耗大量内存资源,我们可以使用临时文件存储这些临时数据(外部存储)。

临时文件不用命名,且关闭后会自动删除。

解决方案:使用标准库中tempfile下的TemporaryFile,NamedTemporaryFile。

代码如下:

# -*- coding: utf-8 -*-

from tempfile import TemporaryFile, NamedTemporaryFile

# TemporaryFile创建的临时文件,只能由f访问
f = TemporaryFile()

f.write(‘abcdef‘ * 100000)

f.seek(0)

# 每次读取一部分,否则内存消耗过大
print f.read(100)


# NamedTemporaryFile创建的临时文件可在文件系统中找到
ntf = NamedTemporaryFile()

# 临时文件所在文件路径
print ntf.name
运行结果为:

abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd
c:usersadminappdatalocal emp mpcnn26b
在NamedTemporaryFile中,我们可以设置参数delete=False关闭自动删除机制,这样我们在创建一个新的临时文件时,原来的临时文件依旧存在。

以上是关于Python怎么如何使用临时文件?的主要内容,如果未能解决你的问题,请参考以下文章

python_如何使用临时文件

Python 和 Django - 如何在内存和临时文件中使用

如何使用临时文件

如何在不使用临时文件的情况下在 python 的 tarfile 中写入大量数据

如何使用 heroku 临时文件系统

文件误删如何恢复