我用tempfile库名为dtemporaryfile方法创建了临时命名文件。 我已经写信给他们冲洗了缓冲器,我没有关上它们(否则它们可能会消失)
我试图使用subprocess
模块来调用一些shell命令,使用这些生成的文件。在
subprocess.call('cat %s' % f.name)
总是失败,说明指定的临时文件不存在。在
os.path.exists(f.name)
始终返回true。
我可以直接从shell对文件运行cat命令。在
subprocess
模块不能处理临时文件是不是有什么原因?在
有什么办法可以让它工作吗?在
提前谢谢。在
您是否在子流程中使用shell=True选项?在
为什么不使用可选参数
delete=False
来生成你的NamedTemporaryFile
?这样你就可以在知道它们不会消失的情况下安全地关闭它们,之后正常使用它们,完成后显式地取消它们的链接。这样一来,所有的东西都可以跨平台工作。在相关问题 更多 >
编程相关推荐