주 디렉토리의 하위 폴더 내에 여러 하위 스크립트를 실행하는 마스터 스크립트가 있습니다. MasterScript에서Python - 하위 폴더의 다른 스크립트에서 함수 실행
MyFolder\MasterScript.py
MyFolder\ChildOneScript\ChildOne.py
MyFolder\ChildTwoScript\ChildTwo.py
MyFolder\ChildThreeScript\ChildThree.py
, 내가 몇 가지 변수를 전달 "myChildFunction"& ChildOne에서 함수를 호출해야합니다
폴더 계층 구조는 같다. 문제는 내가 단순히 ChildOne의 상대 경로에 따라 다른 스크립트가 있기 때문에
import ChildOneScript.ChildOne as ChildOne
ChildOne.myChildFunction
할 수 없습니다
이다. 따라서 ChildOne을 MyFolder 디렉토리에있는 MasterScript에서 가져 와서 myChildFunction을 호출하면 다른 파일을 찾을 수 없다는 추적 오류가 발생합니다. 이것은 수동 작업이 많기 때문에 상대 경로 호출을 거부하는 또 다른 완고한 프로그래머의 실수 때문입니다. 그래서 내에서 MasterScript 내에서 myChildFunction을 호출하는 방법이 있습니까 및은 일부 변수를 전달합니까?
subprocess.call을 사용할 수 있고 작업 디렉토리를 변경하기위한 cwd 인수가 있지만 특정 myChildFunction을 호출하고 subprocess를 사용하여 varaibles를 전달할 수 있는지를 알 수 없습니다.
편집 : 그것이 execfile를 사용하여 변수를 전달 할 수 있습니까?
고맙습니다. 이것은 유망 해 보입니다. – Murkantilism
대단히 고맙습니다. 더러운 해킹 일 수도 있지만 신이 작동합니다. 다시 한 번 감사드립니다! – Murkantilism