Python使用标准库tmpfile库创建临时文件详解

1、如何使用临时文件

        实际案例:

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

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

        解决方案:

                使用标准库中tmpfile下的TemporaryFile,NamedTemporaryFile。

2、代码演示

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值