【发布时间】:2015-06-23 08:37:20
【问题描述】:
import subprocess
import tempfile
fd = tempfile.NamedTemporaryFile()
print(fd)
print(fd.name)
p = subprocess.Popen("date", stdout=fd).communicate()
print(p[0])
fd.close()
这会返回:
<open file '<fdopen>', mode 'w' at 0x7fc27eb1e810>
/tmp/tmp8kX9C1
None
相反,我希望它返回如下内容:
Tue Jun 23 10:23:15 CEST 2015
我尝试添加mode="w",以及delete=False,但无法成功。
【问题讨论】:
-
你知道
subprocess.check_output()吗? -
@J.F.Sebastian 是的。事实上,我希望传递给系统的命令是
qstat -xml -r(*.com/a/26104540/597069)。不幸的是,它的行为似乎与date不同。 -
如果需要
qstat的输出;你应该询问qstat。好像是XY problem。为什么这里需要NamedTemporaryFile?
标签: python-2.7 subprocess temporary-files