--

python 临时文件



很多时候,我们需要利用一个临时的文件来保存程序的中间过程, 如何产生一个临时文件(这个时候我们并不关心它具体叫什么名字,放在哪里,只要能够生成、修改、访问、删除即可)

这种情况下,python 的 tempfile 模块能够给我们带来很大帮助。

代码在: code

看个例子:


  
from tempfile import TemporaryFile
outfile = TemporaryFile()
print(type(outfile))
print(outfile.name)
x = np.arange(10)
np.save(outfile, x)
outfile.seek(0)
y = np.load(outfile)
print(y)






import tempfile
temp = tempfile.TemporaryFile(mode='w+t')
try:
    temp.write('Some data')
    temp.write('Some data 2')
    
    temp.seek(0)
    
    print(temp.read())
finally:
    temp.close()




这里 outfile 是一个 FILE 的封装的对象,你可以像正常文件一样使用它,但是在这个文件会在 outfile 对象被释放的时候自动删除。

更多的接口还有:

gettempdir()
mktemp()
mkdtemp()
mktemp()


比如我要建立一个临时的文件夹,可以这样

directory_name = tempfile.mkdtemp()
print(type(directory_name))
print(directory_name)
# Clean up the directory yourself
os.removedirs(directory_name)


这里生成一个可用的临时文件夹,并把这个文件夹地址作为 str 返回。
你可以自己来后续操作。

其他的一些操作可以参考:
https://pymotw.com/2/tempfile/#temporaryfile