目录
首发于:
最近更新于:
分类: posts

tempfile模块

tempfile模块用于创建临时文件或者临时文件夹,这个模块在所有系统平台上都能正常工作,有时还是很有用的。

比如windows系统下的临时文件夹所在:

>>> import os
>>> os.name
'nt'
>>> import tempfile
>>> tempfile.gettempdir()
'C:\\Users\\a3580\\AppData\\Local\\Temp'

最核心的两个函数是 mkstempmkdtemp

mkstemp

mkstemp函数用于新建一个临时文件

fd, fpath = tempfile.mkstemp(dir=tmpdir)
with os.fdopen(fd, 'wb') as temp_cache_file:
    marshal.dump((self.FREQ, self.total), temp_cache_file)

返回的第二个参数就是目标临时文件的路径名,第一个文件参数比较特殊,是操作系统级别的文件句柄(应该是C语言那边的文件句柄吧),要转成一般使用的python文件对象如上所示,使用 os.fdopen 来打开。