我已创建的临时命名的文件,与该临时文件库NamedTemporaryFile方法。 我已经写信给他们缓冲器被刷新,而且我还没有关闭它们(否则有可能消失)

我试图使用subprocess模块使用这些生成的文件来调用一些外壳命令。

subprocess.call('cat %s' % f.name)总是失败说,命名的临时文件不存在。

os.path.exists(f.name)总是返回true。 我可以在文件直接从壳运行cat命令。

是有一些原因的subprocess模块不会与临时文件?

有没有什么办法让它工作吗?

预先感谢。

有帮助吗?

解决方案

正在使用的子壳= true选项吗?

其他提示

你为什么不带可选参数NamedTemporaryFile让你delete=Falses?这样,你可以安全地关闭他们知道他们是不会消失的,以后正常使用它们,并明确取消它们的链接时,即可大功告成。这样,一切都将跨平台工作了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top