如何使用subprocess popen Python

由于os.popen正在被subprocess.popen取代,我想知道我将如何转换

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 

但是我想我没有把这个写出来。 任何帮助,将不胜感激。 谢谢

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 os.popen

使用sh ,它会使事情变得更容易:

 import sh print sh.swfdump("/tmp/filename.swf", "-d")