2012-07-23 2 views
0

외부 프로그램이 있습니다. 호출 된 외부 프로그램 A가 출력을 가져 오지 않으면 어떤 작업을 수행하는 스크립트를 작성하고 싶습니다 (stout).응답이 없을 때 무언가를하는 파이썬 또는 bash 스크립트

어떻게 bash 또는 python에서 가능합니까?

+0

이 (http://mattgemmell.com/2008/12/08/what-have-you-tried/)은 konw 수행 (HTTP [요청 방법]을 : // [질문 스마트 방법] (http://catb.org/~esr/faqs/smart-questions.html)? –

답변

0

Bash 스크립트에서 출력을 파일로 재지 정할 수 있으며 파일 길이가 0이면 출력이 없습니다.

0

때로는 출력 no.sh입니다 제공 스크립트가 다음 파이썬에서이 작업을 수행 할 수 있습니다 경우

import os                                    
x = os.popen("./no.sh") 
y = x.read() 
if y: 
    print "Got output" 
+0

파이썬 문서 : os.popen (명령 [, 모드 [, bufsize]] 버전 2.6부터 사용되지 않음 :이 함수는 사용되지 않습니다. 하위 프로세스 모듈을 사용하십시오. 특히 이전 기능을 서브 프로세스 모듈 섹션으로 바꾸기를 확인하십시오. http://docs.python.org/library/os.html – reindeer

1

당신은 당신이 시스템 호출을 실행하고 변수에 출력을 저장할 수 있습니다 서브 프로세스 모듈을 사용할 수있는 나중에 사용할 수 있습니다. [? 당신이 시도 무엇]

#!/usr/bin/python 
import subprocess as sub 

ur_call = '<your system call here>' 

p = sub.Popen(ur_call, stdout=sub.PIPE,stderr=sub.PIPE) 
output, errors = p.communicate() 
if len(output) == 0 and len(errors) == 0:  
    pass # Do something 
관련 문제