2011-09-07 125 views
2

當子進程調用進程newtest.py時,出現以下錯誤。代碼作爲守護進程運行。當我啓動守護進程時,進程被調用,它運行良好,並且在開始給出錯誤之前運行了8個進程,然後在每次調用時都發生錯誤。 錯誤是無法打開文件:[Errno 2]沒有這樣的文件或目錄

/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 

的代碼如下:

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但它給出了同樣的錯誤。 有什麼建議嗎?非常感謝!

+0

是什麼,如果你提供的完整路徑德確切的錯誤信息??? – 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 
相關問題