我有一个存储所有 .py 文件的目录。
bin/
main.py
user.py # where class User resides
dir.py # where class Dir resides
我想在 main.py 中使用来自 user.py 和 dir.py 的类。
如何将这些 Python 类导入 main.py?
此外,如果 user.py 在子目录中,我如何导入类 User
?
bin/
dir.py
main.py
usr/
user.py
最佳答案
Python 2
在与文件相同的目录中创建一个名为 __init__.py
的空文件。这将向 Python 表示“可以从该目录导入”。
那就做吧……
from user import User
from dir import Dir
如果文件位于子目录中,情况也是如此 - 将 __init__.py
也放入子目录中,然后使用带有点符号的常规导入语句。对于每一级目录,都需要添加到导入路径。
bin/
main.py
classes/
user.py
dir.py
所以如果目录被命名为“classes”,那么你应该这样做:
from classes.user import User
from classes.dir import Dir
Python 3
与之前相同,但如果不使用子目录,则在模块名称前加上 .
:
from .user import User
from .dir import Dir
关于python - 如何在同一目录或子目录中导入类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4142151/