0

我在做 python 的时候写了一个奇怪的方便的函数。(列表中的一些方法,一些更有用的输入函数等。)

我想要的是能够从 python 文件中访问这些函数,而不必通过import my_module.

我认为它会发生的方式是自动导入一个模块,或者将这些函数放在另一个默认的 python 模块中,但我并不介意它是如何完成的。

谁能阐明我应该如何做到这一点?

(我知道import my_module不是很多,但你最终可能会得到

sys.path.append("c:\fake\path")
from my_module import *

越来越长了……)

4

2 回答 2

4

site每当运行 python 解释器时,都会自动导入python 模块。此模块尝试导入另一个名为sitecustomize. 你可以把你的函数放在那里,将它们添加到__builtins__映射中:

for func in [foo, bar, baz]:
    __builtins__[func.__name__] = func

请注意,这仅适用于 cpython,其中__builtins__是可变字典。这样做将自动使这些功能可用于此安装的所有 python 代码。

强烈建议您不要这样做!隐式永远比不上显式,任何维护您的代码的人都会想知道这些到底是从哪里来的。

from myglobalutils import *在模块中导入会更好。

于 2012-06-17T10:46:46.957 回答
1

import this(它在几行中说了很多)。您可以import导入其他模块,例如:

import my.main # where main.py contains `import X, Y, Z`

# X, Y, and Z access:
my.main.X
my.main.Y
my.main.Z
于 2012-06-17T10:44:51.947 回答