提问人:K. C 提问时间:8/27/2022 更新时间:8/27/2022 访问量:42
如何将 python py 文件中的所有类导入到另一个 py 文件中的另一个类?
how can I import ALL classes in a python py file to another class in another py file?
问:
文件树:
\
├── main.py
├── classes.py
classes.py
- 我在这个文件中定义了 3 个类
class clsA:
name = "clsA"
class clsB:
name = "clsB"
class clsC:
name = "clsC"
main.py
- 我的目的是将所有类导入到类中,但我不想在代码中显式枚举所有这些类名称。
classes.py
main.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.py
main.classlist
或者有没有一种简单的方法可以将所有类名称列出,然后尝试将该列表导入?classes.py
[list]
main.classlist
顺便说一句,python 3.8+
谢谢。
答:
-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 convention
ClassList
评论
from classes import *
ClassList