131

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

しかし、私はこれを正しく書いていないと思います。どんな助けでもいただければ幸いです。ありがとう

4

5 に答える 5

170

subprocess.Popen引数のリストを取ります:

from subprocess import Popen, PIPE

process = Popen(['swfdump', '/tmp/filename.swf', '-d'], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()

からへのユーザーの移行を支援するためのドキュメントのセクションもあります。os.popensubprocess

于 2012-09-26T15:44:05.367 に答える
11

shを使用すると、作業がずっと簡単になります。

import sh
print sh.swfdump("/tmp/filename.swf", "-d")
于 2012-09-27T04:14:44.953 に答える
-2

最も簡単な方法でサブプロセスを使用!!

import subprocess
cmd = 'pip install numpy'.split()  #replace with your command
subprocess.call(cmd)
于 2020-05-21T13:15:18.183 に答える