如何从另一个函数创建顶级模块函数?

2024-05-19 06:47:41 发布

您现在位置:Python中文网/ 问答频道 /正文

给定带有__init__.py文件的模块mymodule,如何从该文件中的另一个函数定义mymodule的函数

__init__.py代码大纲:

def a():
    THISMODULE.__dict__["b"] = lambda: print("this is not weird")

a()
b() # Expect "this is not weird" output

mymodule是作为anothermodule的替代品出现的,我想让代码更改简单到用import mymodule as thething替换import anothermodule as thething。因为我还没有实现anothermodule的所有功能,所以我想向用户发送一个关于它的通知,而不是用“未定义”来崩溃


Tags: 模块文件函数代码pyimportinitis
1条回答
网友
1楼 · 发布于 2024-05-19 06:47:41

^{}是导入机制设置的模块属性,其计算结果为当前模块的名称。将其添加到文件的顶部:

import sys

THISMODULE = sys.modules[__name__]

你已经拥有的其他东西应该能正常工作

相关问题 更多 >

    热门问题