我刚开始学习Python2.6编程,我的目标是在操作系统的临时目录中创建 .txt 或 .xls 的 "临时文件",并向其中写入一些数据。然后从 "临时文件" 中读取数据,在读取完数据后,将 "临时文件" 从临时目录中删除。
为了完成这个过程,我选择了 NamedTemporaryFile(),但无法实现。请问您有什么建议吗?提前感谢您的帮助。
>>> import os
>>> import tempfile
>>> with tempfile.NamedTemporaryFile() as temp:
print temp.name
temp.write('Some data')
f = open(os.path.join(tempfile.gettempdir(),temp.name))
lines = f.readlines()
f.close()
temp.flush()
c:\users\110\appdata\local\temp\tmpf8p3kc
Traceback (most recent call last):
File "<pyshell#3>", line 4, in <module>
f = open(os.path.join(tempfile.gettempdir(),temp.name))
IOError: [Errno 13] Permission denied: 'c:\\users\\110\\appdata\\local\\temp\\tmpf8p3kc'
delete=False
,使用NamedTemporaryFile的好处是什么? - Matt-Heun HongNamedTemporaryFile
的其他好处不仅限于自动删除。默认情况下,它将被放置在临时目录中,并且文件名会自动生成以避免与现有文件冲突和竞争条件。 - jamesdlin