【发布时间】:2021-11-08 06:02:38
【问题描述】:
我在组织项目结构和成功运行程序时遇到问题。我不想使用 sys.path 模块,所以我选择创建 init.py 文件。但我注意到冗余,我很困惑如何正确地做到这一点。其他包也需要相邻包的模块。
src
- __init__.py
- main.py
- data
-- __init__.py
-- data_loader.py
- util
-- __init__.py
-- stringUtil.py
_初始化_.py
import .data
import .util
main.py
from data import *
from utils import *
def __init__():
print(StringUtil.substringRight("Hello world!", "l"))
loader = DataLoader("C:/SOME/PATH/")
数据/_初始化_.py
from .data import *
data/data_loader.py
from util.stringUtils import StringUtil
class DataLoader()
def __init__(self, path):
StringUtil.printHierarchyTree(path)
util/_init_.py
from .util import *
util/stringUtil
class StringUtil:
@staticmethod
def substringRight():
...
我只想在应用启动时加载所有模块和类。
上面写着:
File "main.py", line 5, in <module>
StringUtil.substringRight
NameError: name 'StringUtil' is not defined
Data Loader 也不知道 StringUtil 类
【问题讨论】:
标签: python-3.x import package structure project