放置常用功能的更好地方?

时间:2016-05-09 23:53:16

标签: python module packages

我正在为我常用的功能构建一个自定义包,它有几个不适合任何特定模块的功能,并被多个模块使用。我一直把它们放在__init__.py中,但它确实有用,但我看过很多推荐非常小__init__.py的教程。有没有比这更好的地方呢?

我希望能够像这样打电话给他们:

import mypackage

#functions in modules
mypackage.module.function()

#common functions
mypackage.function()

我在哪里放这些功能?

1 个答案:

答案 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