我有一个存放所有.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
我不能为顶部的答案提交编辑,所以根据上面评论中给出的一些指针,另一件要尝试的事情是:
from subfolder.MyClassFile import MyClass
就是这样。只要记住在我们的子文件夹中有一个__init__.py空文件。
仅供参考,如果你的结构是这样的,解决方案是有效的:
your_project/
__ini__.py
main.py
subfolder/
__init__.py
MyClassFile.py <-- You want this
MyClassFile.py包含MyClass类。
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