1
파이썬 스크립트를 실행하고 그 결과를 캡처하려고합니다. 그것은 첫 번째 출력 라인 후에 내 문자열 대신 콘솔로 리디렉션되는 것처럼 보입니다. Manage.py는 프로덕션 서버 시작 또는 유닛 테스트 실행과 같은 Django 프로젝트 관리를위한 명령 행 유틸리티입니다.Popen PIPE와의 통신이 프로세스의 모든 출력을 포착하지 못합니다.
Ran 1 test in 0.000s
OK
*****Own output*****
Creating test database for alias 'default'...
Destroying test database for alias 'default'...
이유는 첫 번째 라인을 사로 잡았되지 않습니다
import os, string, datetime
from subprocess import Popen, PIPE
def runProcess(command, parameters):
process = Popen([command]+parameters, stdout=PIPE)
output=process.communicate()[0]
return output
testStatus=runProcess('python',['manage.py','test','coffeebean'])
print ("*****Own output*****")
print(testStatus)
이 출력은 다음과 같습니다
이 내 코드?
안부, 다니엘 그들은 stderr에 기록하고 있기 때문에
다니엘,이 질문에 대한 manage.py (잘하면 아주 간단한 버전) 및 예상되는 출력이 도움이 될 것입니다. – jhclark
죄송합니다, 이것은 장고 프로젝트라고 언급하는 것을 잊었습니다. Manage.py는 django 프로젝트를 관리하는 명령 행 유틸리티입니다. 내 원래 게시물을 편집하겠습니다 – DkM