繁体   English   中英

python 中的导入实际如何工作?

[英]How importing actually works in python?

在我的工作目录中,我有这样的 python3 文件

/Path/to/cwd/main.py
/Path/to/cwd/Folder/one.py
/Path/to/cwd/Folder/two.py

所以我有一个这样的 main.py 文件

import Folder.one as one
#Do something

在 one.py 我有这样的代码

import two
#Some functions defined locally utilizing functions written in two.py
if __name__ == '__main__':
    #Code for testing Functions

当我运行 one.py 时,它运行良好。 但是当我运行 main.py 时,它会抛出一个错误

ModuleNotFoundError:没有名为“二”的模块

理想情况下,我根本不会期待这样的错误。

当我将导入语句从import two更改为import Folder.two时,它起作用了。 但我想以其他方式做到这一点,而不会对此类导入语句产生太大影响。 如何做到这一点?

为了让 python 解释器知道哪些目录包含要加载的代码,您需要包含一个__init__.py文件。

查看此答案以了解有关如何导入包的更多信息。

在第二次导入的情况下,要访问该方法,您需要使用此语法。

from.two import *

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM