一尘不染

Python-如何在同一目录或子目录中导入类?

python

我有一个存储所有.py文件的目录。

bin/
   main.py
   user.py # where class User resides
   dir.py # where class Dir resides

我想从使用类user.py和dir.py在main.py。
如何将这些Python类导入main.py?
此外,User如果user.py在子目录中,如何导入类?

bin/
    dir.py
    main.py
    usr/
        user.py

阅读 589

收藏
2020-02-18

共1个答案

一尘不染

Python 2

在与文件__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

Python 3

与上一个相同,但是.如果不使用子目录,则在模块名前加上:

from .user import User
from .dir import Dir
2020-02-18