Python 引用带有部分路径的模块
Python refer to module with partial path
我有这个目录结构:
├── package1
│ ├── __init__.py
│ └── package2
│ ├── __init__.py
│ └── module2.py
└── script.py
script.py 文件如下所示:
import package1.package2.module2
import package1.package2
if __name__ == '__main__':
package1.package2.module2.run() # This works
package2.module2.run() # This fails
执行失败并出现此错误,NameError:未定义名称 'package2'。
如何更改代码,使 package2.module2
被识别为导入的模块?
此 script.py
因期望 package2
名称突然出现而被窃听 - 显示的导入语句仅将名称 package1
引入命名空间。
它可以改用 from package1 import package2
,这样 package2
就在命名空间中。在这种情况下,单独导入 module2
是 .
最典型的是单个导入语句:
from package1.package2.module2 import run
if __name__ == "__main__":
run()
我有这个目录结构:
├── package1
│ ├── __init__.py
│ └── package2
│ ├── __init__.py
│ └── module2.py
└── script.py
script.py 文件如下所示:
import package1.package2.module2
import package1.package2
if __name__ == '__main__':
package1.package2.module2.run() # This works
package2.module2.run() # This fails
执行失败并出现此错误,NameError:未定义名称 'package2'。
如何更改代码,使 package2.module2
被识别为导入的模块?
此 script.py
因期望 package2
名称突然出现而被窃听 - 显示的导入语句仅将名称 package1
引入命名空间。
它可以改用 from package1 import package2
,这样 package2
就在命名空间中。在这种情况下,单独导入 module2
是
最典型的是单个导入语句:
from package1.package2.module2 import run
if __name__ == "__main__":
run()