如何使用子进程popen Python
问题描述
由于 os.popen
被 subprocess.popen
取代,我想知道如何转换
Since os.popen
is being replaced by subprocess.popen
, I was wondering how would I convert
os.popen('swfdump /tmp/filename.swf/ -d')
到 subprocess.popen()
我试过了:
subprocess.Popen("swfdump /tmp/filename.swf -d")
subprocess.Popen("swfdump %s -d" % (filename)) # NOTE: filename is a variable
# containing /tmp/filename.swf
但我想我没有正确地写出来.任何帮助,将不胜感激.谢谢
But I guess I'm not properly writing this out. Any help would be appreciated. Thanks
解决方案
subprocess.Popen
采用参数列表:
from subprocess import Popen, PIPE
process = Popen(['swfdump', '/tmp/filename.swf', '-d'], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
甚至还有一个 部分文档 致力于帮助用户从 os.popen
迁移到 subprocess
.
There's even a section of the documentation devoted to helping users migrate from os.popen
to subprocess
.
相关文章