我目前正在用Python编写一个库。我正在尝试使用在模块中定义的类,但在我的系统中无法使用它主.py. 在Selector和SeasonSelector中,我有两个用相同文件名定义的类。我得到以下错误:
模块“Selectors”中没有名称“Selector”
main.py
:
import pyf1
testSeasonSelector = pyf1.Selectors.SeasonSelector()
testSelector.loadData()
pyf1/__init__.py
:
from Selectors.Selector import Selector
from Selectors.SeasonSelector import SeasonSelector
目录
├── main.py
└── pyf1
├── Selector.pyc
├── Selectors
│ ├── SeasonSelector.py
│ ├── SeasonSelector.pyc
│ ├── Selector.py
│ ├── Selector.pyc
│ └── __init__.pyc
├── __init__.py
├── __init__.pyc
├── __pycache__
│ └── __init__.cpython-38.pyc
└── data
我设法找到了解决办法。你知道吗
问题是我没有使用正确的语法。一旦我添加了丢失的
__init__()
文件,我就使用import语句Import .parent_file from ParentClass
,这样我就可以按照自己的意愿向上传递功能了。你知道吗在选择器目录中,我可以使用
from .selector import __Selector
在SeasonSelector
中使用此外,我的
sys.path
中没有包含PyF1,因此python无法扫描目录。这包括在上面的语法允许我做我想做的事。你知道吗你的目录应该是这样的
您的目录不是一个没有init.py的认证包,因此您不能进行import语句。我还冒昧地纠正了您如何命名模块,以符合良好的python命名约定\实践。有了它,您应该能够从您的内置包导入而不会出现问题
相关问题 更多 >
编程相关推荐