这是我正在使用的结构:
directory/
script.py
subdir/
__init__.py
myclass01.py
myclass02.py
我想要做的是在script.py中导入myclass01.py和myclass02.py中定义的类。如果我这样做:
from subdir.myclass01 import *
对于在myclass01.py
中定义的类,这个解决方案可以正常工作。但是,如果在subdir
中有多个不同文件中定义的类需要导入,我就必须为每个文件都输入一行代码。一定有一个快捷方式。我尝试过:
from subdir.* import *
但是它没有奏效。
编辑:这里是文件的内容:
这是__init__.py
文件(使用Apalala建议的__all__
):
__all__ = ['MyClass01','MyClass02']
这是 myclass01.py
文件:
class MyClass01:
def printsomething():
print 'hey'
这是myclass02.py
:
class MyClass02:
def printsomething():
print 'sup'
这是script.py
文件:
from subdir import *
MyClass01().printsomething()
MyClass02().printsomething()
当我尝试运行 script.py
时,我得到的是以下回溯信息:
File "script.py", line 1, in <module>
from subdir import *
AttributeError: 'module' object has no attribute 'MyClass01'