2016-09-17 4 views
0

실행중인 프로세스/프로그램을 Python 스크립트로 제어하려고합니다. 나는`linphonec '프로그램을 가지고있다. (설치할 수있다 : apt-get install linphonec). 내 작업은 다음과 같습니다Python에서 대화 형 콘솔 응용 프로그램을 자동화하는 방법은 무엇입니까?

  1. 실행 linphonec (나는 순간에 서브 프로세스를 사용하고 있습니다)
  2. linphonec는이를 제어하는 ​​많은 명령을 가지고 있으며, 나는 (linphonec에서 명령)을 사용 proxy list을 예컨대하려는 실행됩니다.

간단한 흐름 :

[email protected]$ > linphonec 
linphonec > proxy list 

내가 어떻게 할 수 있습니까? (당신이 print 표준 입력에 대한 keywrod-인수를 통해 생성자에서 subprocess.PIPE

사용 subprocess.Popen을 linphonec하는 propably 표준 출력과 표준 에러

모든 것을 통과 myprogram.py | linphonec으로 프로그램을 실행

+0

pexpect 모듈을 찾으십시오 – Hackaholic

+0

try linphonec 또는 linphonec --help – Juggernaut

+0

Hackaholic에 감사드립니다. – t0mq

답변

0

실제로 통신하는 2 가지 방법이 있습니다 너무) 다음 communicate 하나의 명령 또는 파일) stdinstdout (stderr를 사용

import subprocess 
p=subprocess.Popen("linphonec", 
    stdin=subprocess.PIPE, 
    stdout=subprocess.PIPE, 
    stderr=subprocess.PIPE, 
    universal_newlines=True) #this is for text communication 
p.stdin.write("proxy list\n") 
result_first_line=p.stdout.readline() 
+0

감사합니다. 첫 번째 통지 및 pexpect 모듈을 테스트했습니다. – t0mq

관련 문제