我正在嘗試升級在Windows上運行可執行文件的python腳本,並將文本輸出文件管理爲使用多個線程進程的版本,以便我可以使用多個內核。我有四個獨立版本的可執行文件,每個線程都知道要訪問它。這部分工作正常。我遇到問題的地方在於它們同時運行,並嘗試打開(不同的)輸出文件以確保它們正確運行並根據輸出文件的內容做出反應。用於運行可執行文件的python多線程進程
具體來說,運行三個線程,二時將出現以下錯誤崩潰,而一個繼續工作:
Exception in thread Thread-4:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 552, in __bootstrap_inner
self.run()
File "E:\HDA\HDA-1.0.1\Hm-1.0.1.py", line 782, in run
conf = self.conf_file(Run)
File "E:\HDA\HDA-1.0.1\Hm-1.0.1.py", line 729, in conf_file
l = open(self.run_dir(Run)+Run, 'r').readlines() #list of file lines
IOError: [Errno 2] No such file or directory: 'Path/to/Outputfile'
這導致從線程不能正確運行可執行文件(即爲什麼「路徑/到/輸出文件'沒有被創建,因此無法找到)。但其中一個線程正確地做到了這一點,而另外兩個線程卻做不到。是否有一個原因,我無法獲得運行不同版本可執行文件的多個線程?
使用線程我會問題有兩個,「我知道」,我認爲 – 2012-04-24 21:31:54
一個典型的問題是在某處調用os.chdir(),因爲當前工作目錄是一個進程寬屬性。 – schlenk 2012-04-25 06:06:37