我有一个存放所有.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 user import User 
from dir import Dir 

其他回答

对于python3

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

Python 3


相同的目录中。

导入文件:log.py

导入类:SampleApp()。

import log
if __name__ == "__main__":
    app = log.SampleApp()
    app.mainloop()

or

目录是最基本的。

导入文件:log.py。

导入类:SampleApp()。

from basic import log
if __name__ == "__main__":
    app = log.SampleApp()
    app.mainloop()

我不知道为什么这个工作,但使用Pycharm构建从file_in_same_dir导入class_name

IDE抱怨它,但它似乎仍然工作。我使用的是Python 3.7

如果你在同一个文件夹中有filename.py,你可以像这样轻松地导入它:

import filename

我使用的是python3.7

我不能为顶部的答案提交编辑,所以根据上面评论中给出的一些指针,另一件要尝试的事情是:

from subfolder.MyClassFile import MyClass

就是这样。只要记住在我们的子文件夹中有一个__init__.py空文件。

仅供参考,如果你的结构是这样的,解决方案是有效的:

your_project/
    __ini__.py
    main.py
    subfolder/
        __init__.py
        MyClassFile.py  <-- You want this

MyClassFile.py包含MyClass类。