没有导入或全局声明的Python全局变量

问题描述 投票:0回答:1

我试图在我的python项目中添加几个杂项开发帮助程序,这样我就不需要import它们或者在调用站点声明它们global,只是为了节省一些打字。

示例用法如下:

# Somewhere, maybe src/__init__.py?
from pprint import pprint
superduperglobaleasyusenamespace.p = pprint

# A different file somewhere in my project
def whatever():
    p('hello')

我看着builtin,但无法让它工作。如果这是正确的解决方案,请提供在python3中工作的示例代码。

python-3.x global-variables python-import
1个回答
0
投票

将其添加为程序中的第一行:

__builtins__.p = pprint

通常,不建议修改内置名称空间。毕竟导入只是一行。

Example

# mod1.py

from pprint import pprint

__builtins__.p = pprint

import mod2

# mod2.p

print(p)

现在:

python mod1.py 
<function pprint at 0x10df28e18>
© www.soinside.com 2019 - 2024. All rights reserved.