【发布时间】:2009-06-26 15:10:42
【问题描述】:
我使用临时文件库 NamedTemporaryFile 方法创建了临时命名文件。 我已经写信给他们刷新了缓冲区,我还没有关闭它们(否则它们可能会消失)
我正在尝试使用 subprocess 模块来使用这些生成的文件调用一些 shell 命令。
subprocess.call('cat %s' % f.name) 总是失败,说指定的临时文件不存在。
os.path.exists(f.name) 总是返回 true。
我可以直接从 shell 对文件运行 cat 命令。
subprocess 模块无法处理临时文件是否有某些原因?
有没有办法让它工作?
提前致谢。
【问题讨论】:
-
我没有使用 shell=True 所以我改成了它。现在出现错误说,'/bin/sh:没有这样的文件或目录'
-
文件也没有被删除。我可以在我的终端中打开另一个选项卡并很好地分类文件。就像我说的, os.path.exists 仍然说文件在那里。这与子流程模块有关。
标签: python subprocess