我有一个存储所有.py文件的目录。
bin/
main.py
user.py # where class User resides
dir.py # where class Dir resides
我想从user.py使用类和main.py dir.py。
如何将这些 Python 类导入main.py ?
此外,如果user.py位于子目录中,如何导入User
bin/
dir.py
main.py
usr/
user.py
在与文件相同的目录中创建__init__.py
这将向 Python 表示 “可以从此目录导入”。
然后做...
from user import User
from dir import Dir
如果文件位于子目录中,则也是如此 - 将__init__.py
放入子目录中,然后使用带点符号的常规 import 语句。对于每个级别的目录,您都需要添加到导入路径。
bin/
main.py
classes/
user.py
dir.py
因此,如果目录被命名为 “classes”,则可以这样做:
from classes.user import User
from classes.dir import Dir
与先前相同,但模块名称前带有.
如果不使用子目录:
from .user import User
from .dir import Dir
我刚刚了解到(感谢martineau 的评论),为了从同一目录中的文件导入类,您现在将使用 Python 3 进行编写:
from .user import User
from .dir import Dir
在您的main.py
:
from user import Class
其中Class
是要导入的类的名称。
如果要调用Class
的方法,则可以使用以下方法调用它:
Class.method
请注意,在同一目录中应该有一个空的__init__.py