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
.
답변
sh를 사용 하면 일이 훨씬 쉬워집니다.
import sh
print sh.swfdump("/tmp/filename.swf", "-d")
답변
가장 쉬운 방법으로 Subprocess 사용 !!
import subprocess
cmd = 'pip install numpy'.split() #replace with your command
subprocess.call(cmd)