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

发布于 2021-02-02 23:16:43

我有一个存储所有.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
关注者
0
被浏览
90
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看