我的当前文件夹中有两个脚本。从 scriptMain.py
我调用 scriptChild.py
。在 scriptMain.py 中,我已经导入了 numpy。但是,似乎即使我通过执行 import scriptChild
来调用 scriptChild.py
,它仍然需要我再次在子脚本中导入 numpy。
这是Python中的默认行为吗?或者有没有办法告诉子脚本识别父脚本导入的所有模块?
如果有帮助的话,我正在使用 python 3.5.1 和spyder 作为我的编辑器。
编辑1:
进一步假设在 scriptChild.py
中我有 a=1
。我还需要通过父级访问变量 a
。我如何确保我这样做了。我尝试运行
import subprocess
subprocess.call("scriptChild.py", shell=True)
没有任何运气。
编辑2:
在此处找到编辑 1 的解决方案:Importing a variable from one python script to another
最佳答案
在导入你所说的语言时,我想到的语言是 C++。当您使用 #include
指令时,Python 的工作方式与 C++ 不同。 #include
指令实际上告诉编译器包含您在当前源文件中指定的任何文件的源代码。这就是为什么您可以获取父级的内含物。编译器本质上是在源代码中为您伪造了它。我应该补充一点,这就是为什么需要包含防护(双重包含会导致命名冲突)。
关于python - 重新导入子脚本中的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36275136/