我试图编写一个python脚本,在Temp文件夹中创建一个临时文件(另一个python脚本)。然后它应该继续执行这个临时文件。
我写了这样的话:
with tempfile.TemporaryFile(mode='w+b', suffix='.py') as temp:
stuff stuff stuff
temp.write(mycode.encode('utf-8'))
temp.seek(0)
os.system(temp.name)
当我运行它时,我得到了
The process cannot access the file because it is being used by another process.
错误。我尝试使用tempfile.mkstemp(希望"关闭"函数可以处理这个),但没有任何改变。
所以我的问题是:如何在temp文件夹中创建文件,python脚本,执行它,然后将其删除?
感谢您的回答:D
答案 0 :(得分:1)
第os.system(temp.name)
行应该在with
关闭之外。
然而,这样做不起作用,因为那时文件将被移除,因此您需要将参数delete=False
传递给TemporaryFile()
。
最好考虑使用NamedTemporaryFile。