我有一个存放所有.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

当前回答

对于python3

from .user import用户 从侄子导入:从。usr。user import用户

其他回答

我刚刚了解到(感谢martineau的评论),为了从同一目录中的文件导入类,你现在可以在Python 3中写道:

from .user import User
from .dir import Dir

对于python3

from .user import用户 从侄子导入:从。usr。user import用户

在main.py中:

from user import Class

其中Class是要导入的类的名称。

如果你想调用Class的一个方法,你可以使用:

Class.method

注意,在同一目录下应该有一个空的__init__.py文件。

Python3

use

from .user import User inside dir.py file

and

use from class.dir import Dir inside main.py
or from class.usr import User inside main.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类。