我正在为我常用的功能构建一个自定义包,它有几个不适合任何特定模块的功能,并被多个模块使用。我一直把它们放在__init__.py
中,但它确实有用,但我看过很多推荐非常小__init__.py
的教程。有没有比这更好的地方呢?
我希望能够像这样打电话给他们:
import mypackage
#functions in modules
mypackage.module.function()
#common functions
mypackage.function()
我在哪里放这些功能?
答案 0 :(得分:3)
你可以创建一个'实用程序'包/文件来存储可重复使用的代码片段,然后将它们导入你的文件中,这些文件可以从中受益!
至于你的init.py文件 - 我会把它留空!
# utilities.py
def method():
return None
# Some class
from utilities import *
nothing_burger = method()
print nothing_burger
如果将父文件夹添加到python路径,则可以在command_line_interface.py或data_access.py文件中导入
from extras.utilities import
*
您将可以访问所有可重复使用的方法
. Parent
|
├── cli
│ ├── __init__.py
│ └── command_line_interface.py
├── persistence
│ ├── data_access.py
│ └── __init__.py
└── extras
├── exceptions.py
├── utilities.py
└── __init__.py