2011-09-07 7 views
2

하위 프로세스가 newtest.py 프로세스를 호출 할 때 다음과 같은 오류가 발생합니다. 코드는 데몬으로 실행됩니다. 데몬을 시작했을 때 프로세스가 호출되었지만 오류가 발생하기 전에 8 개의 프로세스를 실행하고 모든 호출에서 오류가 발생했습니다.파일을 열 수 없습니다 : [Errno 2] 해당 파일이나 디렉토리가 없습니다.

for index,row in enumerate(jobs): 
      if index <= new_jobs : 
       dirs=row[0] 
       dirName=os.path.join(homeFolder,dirs) 
       logFile=os.path.join(dirName,(dirs+".log")) 
       proc=subprocess.Popen(["/opt/local/bin/python2.6","newtest.py",dirs],stdout=open(logFile,'a',0),stderr=open(logFile,'a',0)) 
       proId= proc.pid 

내가 newtest.py의 전체 경로를 사용하여 시도했지만 같은 오류를 제공합니다 : 오류 코드는 아래와 같습니다

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python: can't open file 'newtest.py': [Errno 2] No such file or directory 

입니다. 제안 사항이 있으십니까? 많은 감사!

+0

전체 경로를 제공하는 경우 TEH 정확한 오류 메시지가 무엇입니까 ??? – rocksportrocker

+0

"file 'newtest.py': [Errno 2] 해당 파일이나 디렉토리가 없습니다."정말 분명합니다. 이 메시지에 대해 당신에게 혼란스러운 것은 무엇입니까? 파일이 존재하지 않습니다. 너는 무엇을 더 알 필요가 있니? "newtest.py에 전체 경로를 사용해 보았습니다"? 실제 현재 작업 디렉토리와이 "전체 경로"정보를 포함하십시오. 'os.getcwd'를 사용하여 현재 작업 디렉토리를 인쇄하고'os.listdir'을 ** 그것이 파일이 당신이 주장하는 곳에 존재 함을 ** 증명합니다. –

+0

newtest.py – shash

답변

1

시도 :

subprocess.Popen(['/opt/local/bin/python2.6','/FULL/PATH/TO/FILE/newtest.py'],stdout=subprocess.PIPE) 

는 그 일을합니까? 제거 된 매개 변수 및 무엇이 아닙니다. 또한

, 당신은 할 수 있습니다 :

f = open('/FULL/PATH/newtest.py') 
print f 
관련 문제