2016-08-17 1 views
0

필자는 작성한 모듈에서 테스트 할 개별 .py 파일로 여러 가지 테스트 케이스를 보유하고 있습니다. 이 파일들은 모두 내가 만든 py 모듈을 사용하며, 모든 py 파일은 미리 결정된 출력을 출력합니다 (수천 줄의 파일들도 있습니다).Python - 여러 py 파일의 인쇄 출력을 확인하는 방법?

다른 테스트 .py 스크립트를 실행하고 출력을 확인하는 .py 스크립트를 실행하는 방법이 있습니까? 나는 doctest와 unittests를 들여다 보았다. 그러나 이것들은 py 스크립트보다는 특정 함수와 관련이있다?

편집 :이 py 파일은 반환 값 대신 출력을 인쇄합니다. 그들 중 일부는 멀티 스레딩을 활용합니다.

+0

각 파일에 대한 스레드를 여러 스레드로 생성하려면이 execfile (""test.py "변수)을 실행하십시오. 그러면 테스트 스크립트가 실행되거나 하나의 스레드만으로 모든 파일을 저장할 수 있습니다 디렉토리, * .py 파일을 사용하여 디렉토리 읽기 변수 또는 목록으로 사전을 가져온 다음 각각을 실행하십시오 –

답변

1

는이

import glob 
lst = glob.glob("/home/test/*.py") 

for each_file in lst: 
    variables= {} #what ever variables to need run 
    execfile(each_file, variables) 
1

당신이

subprocess.Popen(['python',file_name],universal_newlines=True,stdout=stdout, stderr=stderr)

stdout에 의해, 당신은이 스크립트를 호출하기 만하면, stderr 모든 파일 오브젝트가, 그들에 결과를 기록합니다 시도 이 파일들. 그렇다면 sleep()을 사용하여 가장 적절한 시간을 생각해보십시오.

그런 다음이 파일을 열고 결과를 확인할 수 있습니다.

하위 프로세스 here에 대해 자세히 알아보십시오.

관련 문제