如何将 python py 文件中的所有类导入到另一个 py 文件中的另一个类?

how can I import ALL classes in a python py file to another class in another py file?

提问人:K. C 提问时间:8/27/2022 更新时间:8/27/2022 访问量:42

问:

文件树:

\
├── main.py
├── classes.py

classes.py

  • 我在这个文件中定义了 3 个类

class clsA: 
    name = "clsA"
class clsB: 
    name = "clsB"
class clsC: 
    name = "clsC"

main.py

  • 我的目的是将所有类导入到类中,但我不想在代码中显式枚举所有这些类名称。classes.pymain.classlist

class classlist:

    # from classes import clsA, clsB, clsC
    ## ^ above line able to work, but need to explicitly list all those classes name

    from classes import *
    ## ^ above line not working : SyntaxError: import * only allowed at module level


print(classlist.clsA.name)
# expected print out "clsA"

那么有没有简单的方法可以在不明确列出它们的情况下导入所有类?classes.pymain.classlist

或者有没有一种简单的方法可以将所有类名称列出,然后尝试将该列表导入?classes.py[list]main.classlist

顺便说一句,python 3.8+

谢谢。

Python 导入 命名空间

评论

1赞 BloomShell 8/27/2022
只需移出并将其与其他 imports 语句放在一起,然后初始化 ,from classes import *ClassList

答:

-1赞 Aman Raheja 8/27/2022 #1

您需要在同一目录中创建一个文件,并在其中添加以下代码:__init__.py

初始化 .py

__all__ = ['classes']

在,你只需要导入类。main.py

main.py

import classes


class classlist:
    pass


print(classes.clsA.name)
print (classes.clsB)

注意:在 python 中,类名是用 like 写的。CamelCase conventionClassList