how to import module from other directory in python?
本问题已经有最佳答案,请猛点这里访问。
这是我的目录树
1 2 3 4 5 6 | Game/ a/ 1.py ... b/ 2.py |
在2.py中,我希望从1.py中显示导入函数。首先,我把两个文件都放在同一个文件夹中,没问题。但是如何从其他位置导入呢?
尝试使用
1 2 | import imp foo = imp.load_source('filename', 'File\Directory\filename.py') |
这就像正常导入一样,现在可以使用导入的文件
然后使用您命名的名称(在本例中为
1 | foo.method() |
希望这就是你要找的!
您也可以尝试以下操作:
1 2 | import sys sys.path.append('folder_name') |
您有两种选择:
将另一个文件夹添加到
1 2 3 4 5 6 | 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包,这样您就可以进行类似
1 | from ..a import mod1 |
确保在要从中导入的任何目录中都有一个
例如,您的代码现在将如下所示:
1 2 3 4 5 6 7 8 9 | Game/ __init__.py a/ __init__.py 1.py ... b/ __init__.py 2.py |