코드에서 다중 처리 .Pool 모듈을 사용하고 있는데, pool.map() 함수를 사용하여 목록의 항목을 병렬로 실행하고 있습니다. pool.map 함수가 실행될 때 목록의 각 항목에 대한 별도의 작업 디렉토리. 목록 항목에는 모델이 포함되어 있으며 시뮬레이션 기능으로 시뮬레이션됩니다. 현재 내 코드 목록의 각 모델을 시뮬레이션하고 결과 파일을 생성합니다이다중 처리 풀 목록의 각 항목마다 다른 디렉토리에서 실행
items=['BouncingBall.mo','HelloWorld.mo']
from multiprocessing import Pool
from multiprocessing.dummy import Pool as ThreadPool
pool = ThreadPool()
pool.map(parallel,items)
def simulate(lists):
np='some directory path'
os.chdir(np)
model.simulate(lists)
시뮬레이션 기능처럼 보이는, 내가 다른 디렉토리의 목록에있는 항목을 실행하려면, 나는() os.chdir으로 시도 두 개의 디렉토리를 생성하지만 결과는 두 모델 모두의 한 디렉토리에 저장됩니다. 두 개의 다른 디렉토리에서 결과 파일을 실행하는 방법. 각 프로세스마다 다른 디렉토리를 작성하고 별도로 실행할 수 있습니다.
2. 그래서 대신 os.chdir()의 사용에 무엇을 의미하는지 선택해야합니다 것 같다) 결과 파일을 해당 디렉토리에 작성하십시오. – arun
결과를 작성할 때'open (file, 'w')'과 같은 것을 사용하여 파일을 열었을 것입니다. 'open (DIR + file, 'w')'을 사용해야합니다. 여기서'DIR'은이 결과의 특정 디렉토리입니다. 정확히 무엇을하고 있는지 알지 못하면 자신이해야 할 일을 알려주지 못합니다. 그러나 그것은 사물의 정신입니다. –
이 함수는 model.simualte (BouncingBall.mo)가 호출 될 때 시뮬레이터에서 결과 파일을 생성 할 때 어떤 결과도 작성하지 않을 것이고, 나는 아무 것도 쓰지 않을 것이고 결과 파일을 생성하기를 원할 것이다. 새로 생성 된 디렉토리 – arun