我有:
├── main.py
├── /subFolder
│ └── __init__.py
│ └── one.py
│ └── two.py
我的main.py看起来像这样:
from subFolder import *
print(oneString())
print(twoString())
我的__init__.py
看起来像这样:
__all__ = ["one", "two"]
我的one.py
看起来像这样:
from two import *
def oneString():
return "one"
我的two.py
看起来像这样:
def twoString():
return "two"
运行时,它会显示 ModuleNotFoundError 。另外,当我右键单击__all__ = ["one", "two"]
时,它说:未找到定义。好像我的__all__
无法正常工作。我想创建一个subFolder软件包,以便可以编写:import subFolder
而不是from subFolder import *
答案 0 :(得分:1)
此
from subFolder import *
print(oneString())
print(twoString())
应该是
from subFolder import *
print(one.oneString())
print(two.twoString())
您已使用one.py
中的文件two.py
和subFolder import *
导入了文件。要使用文件内部定义的功能,您需要使用one.oneString()
,即文件名和功能名。