这是我的目录树
Game/
   a/
      1.py
      ...
   b/
      2.py
在 2.py 中,我想从 1.py 中显示导入函数。首先我将两个文件都保存在同一个文件夹中没有问题。但是如何从其他位置导入?
这是我的目录树
Game/
   a/
      1.py
      ...
   b/
      2.py
在 2.py 中,我想从 1.py 中显示导入函数。首先我将两个文件都保存在同一个文件夹中没有问题。但是如何从其他位置导入?
尝试使用imp:
import imp
foo = imp.load_source('filename', 'File\Directory\filename.py')
这就像正常导入现在您可以使用导入的文件
然后,您可以像这样使用您的命名(在本例中foo):
foo.method()
希望这就是你要找的!
你也可以试试这个:
import sys
sys.path.append('folder_name')
    你有两个选择:
添加另一个文件夹sys.path并按名称导入
import sys
sys.path.append('../a')
import mod1
# you need to add `__init__.py` to `../a` folder
# and rename `1.py` to `mod1.py` or anything starts with letter
或创建 distutils 包,然后您将能够进行相对导入,例如
 from ..a import mod1
    确保您__init__.py在要从中导入的任何目录中都有一个文件,然后您有 2 个选项;
例如,您的代码现在看起来像这样:
Game/
   __init__.py
   a/
      __init__.py
      1.py
      ...
   b/
      __init__.py
      2.py
Game文件夹在您的 PYTHONPATH 中,您现在可以from Game.a import 1在中执行,2.py反之亦然1.pyfrom ..a import 1这是相对进口