我使用临时文件库 NamedTemporaryFile 方法创建了临时命名文件。 我已经写信给他们刷新了缓冲区,但我没有关闭它们(否则它们可能会消失)
我正在尝试使用 subprocess 模块使用这些生成的文件调用一些 shell 命令。
subprocess.call('cat %s' % f.name) 总是失败,说指定的临时文件不存在。
os.path.exists(f.name) 总是返回 true。 我可以直接从 shell 对文件运行 cat 命令。
subprocess 模块不能处理临时文件有什么原因吗?
有什么办法可以让它发挥作用吗?
提前致谢。
请您参考如下方法:
为什么不使用可选参数 delete=False 创建 NamedTemporaryFile?这样你就可以安全地关闭它们,知道它们不会消失,之后正常使用它们,并在你完成后明确地取消它们的链接。这样一切也都可以跨平台工作。
