我喜欢一个包含如下文件夹结构的包:
MyPackage
|
├──mypackage
| |
| ├── __init__.py
| |
| ├── config.py
| |
| ├── data_clean
| | ├── __init__.py
| | └── f1.py
| |
| ├── data_transform
| | ├── __init__.py
| | └── g1.py
| |
| └── stat_calc
| ├── __init__.py
| ├── s1.py
| └── command_line_interface.py # <- users will use this from cmd.exe
|
├── README.txt
|
└── setup.py
所有4个__init__.py
个文件都是空的。最初,当我希望s1.py
使用g1.py
中的函数时,我会做
import mypackage.data_transform.g1
然后我会做的某个地方
mypackage.data_transform.g1.my_func()
然后,为了保存,空间我将所有导入更改为
from mypackage.data_transform.g1 import my_func
然后我会在某处使用my_func
。这种新语法会出现很多错误,我不知道应该做什么,或者我应该把什么内容放到__init__.py
文件中。
答案 0 :(得分:1)
在python 3.3+中,.offset()
文件不是必需的。从我的脚本中删除了所有__init__.py
文件后,一切都运行良好:
__init__.py