Windows에서 실행 파일을 실행하는 파이썬 스크립트를 업그레이드하려고하며 여러 스레드 프로세스를 사용하는 버전으로 텍스트 출력 파일을 관리하므로 하나 이상의 코어를 활용할 수 있습니다. 각 스레드가 액세스 할 수있는 네 가지 개별 버전의 실행 파일이 있습니다. 이 부분은 잘 작동합니다. 문제가 발생하는 곳은 동시에 실행되고 출력 파일의 내용에 따라 올바르게 실행되고 반응하는지 확인하기 위해 (다른) 출력 파일을 열려고 할 때입니다. 특히실행 파일을 실행하기위한 파이썬 다중 스레드 프로세스
, 하나는 일을 계속하면서, 다음과 같은 오류와 충돌합니다 세 개의 스레드, 두 가지를 실행할 때 :
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'
이 올바르게 실행 파일을 실행하지 않는 스레드의 결과 (즉, 왜 '경로 /로/Outputfile '이 생성되지 않아 찾을 수 없습니다). 그러나 스레드 중 하나는 올바르게이 작업을 수행하지만 다른 스레드는 수행 할 수 없습니다. 서로 다른 버전의 실행 파일을 실행하는 다중 스레드를 얻을 수없는 이유가 있습니까?
스레드 사용 문제가 두 개 있습니다. "알겠습니다"라고 생각합니다. –
현재 작업 디렉토리가 프로세스 와이드 속성이므로 일반적으로 os.chdir()을 호출하는 것이 좋습니다. – schlenk