실행 함수를 사용하여 외부 프로그램 실행을 사용하려고합니다.python3 (lynux)에서 run() on/into 함수의 출력을
def usual_process(): # some code here for i in subprocess.check_output(['foo','$$']): some_function(i)
는 이제 foo는 가정 : 정기적으로 내가 내 스크립트 에 사용해야하는 데이터의 행을 던졌습니다이 프로그램 은 내가 서브 프로세스 라이브러리를 발견하고 run()
/check_output()
예를 사용했다 PATH 변수에 이미 있으며 세미 임의의 기간에 문자열을 출력합니다.
나는 foo가 출력에 새로운 행을 보낼 때마다 프로그램이 자신의 일을 수행하고 some_function(i)
을 실행할 것을 원한다.
두 가지 문제가 있습니다. for 루프로 출력을 파이프와 배경 서브 프로세스 으로 이것을 실행하는 당신에게
업데이트 감사 : 나는에 따르면 This
with os.popen('foo') as foos_output:
for line in foos_output:
some_function(line)
를 사용 some_function 위에 푸 출력을 얻을 관리해야 thisos.popen은 더 이상 사용되지 않지만 파이썬에서 내부 프로세스를 파이프하는 방법을 아직 이해하지 못했습니다. 이제 실행 방법을 알아야합니다. 이 함수는 백그라운드에서
'linux'를 의미합니까? 그렇다면 어떤 배포판입니까? –
Gentoo를 프로그래밍하고 테스트하는 동안,
가능한 경우 배포판 관련 코드를 최소로 제한하고 Pyton3을 고수하려고합니다. 결과 코드는 주로 처음에는 Raspbian을 대상으로하지만 후자의 버전에서는 안드로이드를 대상으로합니다. 의도는 _foo_의 출력을 기반으로 변수를 업데이트하는 것이 중요하지만 프로그램이 다른 것을 수행하는 동안 – Tomas