Python의 하위 프로세스를 통해 명령을 실행하려고하는데 올바르게 실행되지 않습니다. 내가 쉘에 입력하는 경우 :Python Subprocess : 명령이 Python에서 실패하지만 쉘에서 작동합니다.
pack < packfile.dat
을 pack
내 소프트웨어 및 packfile
입력 파일이고, 그 다음이 소프트웨어는 잘 실행됩니다.
import subprocess as sp
import shlex
cmd = 'pack < packfile.dat'.split()
p = sp.Popen(cmd)
소프트웨어는 불평 :
Pack must be run with: pack < inputfile.inp
Reading input file... (Control-C aborts)
을하고 거기 중단
나는 파이썬에서 이것을 시도하십시오.
이 마지막 부분은 내 소프트웨어에만 해당되지만 동일한 명령을 실행하는 두 가지 방법이 다른 결과를 나타냅니다.
누구든지 내가 뭘 잘못하고 있다고 말할 수 있습니까? 이 모범 사례가 아닌 경우 나, 이것에 조금 새로운 오전부터
p = sp.Popen(cmd,stdout=sp.PIPE,stderr=sp.PIPE)
stdout, stderr = p.communicate()
은 알려 주시기 바랍니다 :
사실, 나는 결국 할 계획입니다.
미리 감사드립니다.
감사합니다. (답변과 설명을 모두 제공) – Tetsuo