我有一个主脚本,它在主目录的子文件夹中执行几个子脚本。
文件夹层次结构如下所示:
MyFolder\MasterScript.py
MyFolder\ChildOneScript\ChildOne.py
MyFolder\ChildTwoScript\ChildTwo.py
MyFolder\ChildThreeScript\ChildThree.py
从 MasterScript 中,我需要在 ChildOne“myChildFunction”中调用一个函数并将一些变量传递给它。问题是,我不能简单地做
import ChildOneScript.ChildOne as ChildOne
ChildOne.myChildFunction
因为还有其他脚本依赖于 ChildOne 的相对路径。因此,如果我从 MasterScript 将 ChildOne 导入 MyFolder 目录并在那里调用 myChildFunction,我会收到回溯错误,指出找不到其他文件。这是由于另一个顽固的程序员的错误,他拒绝更改他的相对路径调用,因为这是很多手工工作。
那么,有没有办法从 MasterScript 中调用 myChildFunction并传递一些变量?
我知道我可以使用 subprocess.call 和它的 cwd 参数来更改工作目录,但我不知道是否可以调用特定的 myChildFunction 并使用 subprocess 传递它的变量。
编辑:是否可以使用 execfile 传递变量?