1
여기 내 프로그램의 코드가 있습니다.Popen에있는 Popen
Windows에서 cmd.exe를 열고 다른 프로그램에 명령을 전달하고 출력을 캡처하고 매번 cmd.exe를로드하지 않고 구문 분석하려고합니다.
이 모든 예제는 파이썬 2를 사용하는 곳에서 발견되었으며 파이썬 3에서 파이썬 3에 대한 몇 가지 변경 사항이 있습니다.
#DOScmd is a list of command line parameters to type into command shell.
p = subprocess.Popen('cmd.exe',
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
shell=True,
bufsize=0)
myCall = ' '.join(DOScmd) + '\n'
p.stdin.write(bytes(myCall, 'UTF-8'))
searchLines = p.stdout.readlines()
print(searchLines)
나는 bowtie.exe 프로그램을 호출하고 있습니다. 이제 bowtie.exe가 충돌합니다. I/O 신을 분노하게 할지도 모른다고 생각합니다. 어떤 도움을 주셔서 감사합니다.
* 나비 넥타이가 멋진을 * :-) 수 당신은 전체 오류 출력을 게시합니까? 'bowtie.exe '가 자신의 컴퓨터에서 작동합니까? – Carpetsmoker
오류 출력 - 표준 창 오류 - "bowtie.exe 작동이 중지되었습니다 ... 창을 닫는 중입니다." Bowtie.exe는 명령 프롬프트에서 실행되며 프로그램을 실행 한 후 종료하는 p = subprocess.Popen (DOScmd)을 호출하여 작동 시켰습니다. 차이점은 매번 cmd.exe를 시작하면 오버 헤드가 크게 줄어들 기 때문에 하나의 cmd.exe를 열어두고 싶다는 것입니다. –
질문 : "어떻게 subprocess.popen을 사용하여 프로그램을 열고 반복적으로 INPUT을 전달하고 Python 3에서 OUTPUT을 읽을 수 있습니까?" –