2014-11-12 3 views
1

mssql 데이터베이스에서 읽고 하위 데이터 some.exe으로 데이터를 전달하는 스크립트가 있습니다. 즉시이 그것을 건너 뛸 것으로 보인다 proc = subprocess.(["C:\\absolute\\path\\some.exe ", fetched_data]) proc.wait()을 시작하기로하고 "fetched_data"다음 을 위해 계속됩니다로 작품을 가져 오는, 미세하지만 데이터는 .. 나는 또한에 python를 시작하면 subprocess.call(["C:\\absolute\\path\\some.exe ", fetched_data])스크립트의 하위 프로세스가 작동하지 않습니다. 수동으로 시작한 경우 [SOLVED]

을 사용하려 콘솔 (윈도우 cmd를) 그리고 똑같은 일을 할 수 있습니다.

스크립트에서 하위 프로세스 호출이 작동하지 않는 이유는 무엇이며 콘솔에서 수동으로 실행하면 어떻게됩니까?

편집

:합니다 (이 파이썬 경로를 사용) 문제는 하위 프로세스가 하위 프로세스에 의해 찾을 수 없습니다 다시 another.exe을 사용하는 스크립트에서 시작이었다. some.exeanother.exe 인 디렉토리에서 시작하면 스크립트가 정상적으로 실행됩니다.

+1

각 경우에 동일한 버전의 파이썬이 사용되고 있는지 확실합니까? 어떤 사람들은 컴퓨터에 여러 비단뱀이 있습니다. – Paul

+1

전체 코드가 있습니까? 코드가 실제로 서브 프로세스 라인으로 이동하고 있습니까? 'print "테스트를 통해 실제로 서브 프로세스 라인으로 가고 있는지 확인하십시오. – smushi

+0

@Paul 예, 명시 적으로 체크했습니다. @ sumshi 코드를 게시 할 수는 있지만 필요 없다고 생각했습니다. 서브 프로세스 호출 전후에 인쇄물을 놓았고'some.exe'의 출력이나 지연없이 출력됩니다 –

답변

1

fetched_data 따라서 추가 인수입니다 :

proc = subprocess.call(["C:\\absolute\\path\\some.exe ", fetched_data]) 

그것은 인수 목록이 아닙니다 문자열의 어떤 하위 프로세스는 기대하고있다.

+0

맞아요,이게 내가 코드에서 가지고있는 것입니다, 그래서 오류가 될 수는 없습니다. 하지만 고마워. –

+1

'some.exe'가 호출되지 않거나 아무것도 반환하지 않습니다? –

+0

방금 ​​그것이 분명히 오류 수준 2를 반환했는지 확인했습니다. cmd에서 같은 인수를 사용하여'some.exe'를 실행하면 안됩니다. 스크립트의 인수 구문에 문제가 있습니다. 저를 이끌어 주셔서 감사합니다. –

관련 문제