小编Pau*_*aul的帖子

从 Python 中导入的模块替换主模块中的函数

是否可以从Python中导入的模块(使用字符串)在主模块中设置全局变量?

(是的,我知道这不是最佳实践。)

最终我希望它看起来像这样:

main.py

import mod
def func():
  print('failure')
mod.run(func)
func()
Run Code Online (Sandbox Code Playgroud)

mod.py

def func2():
    print('success')
def run(f):
    globals()[f.__name__] = func2
Run Code Online (Sandbox Code Playgroud)

结果是'failure'因为全局是相对于模块而言的。

我想用模块中的 , 覆盖func变量func2

另一个警告:变量发生func变化,所以我需要引用它f.__name__ string

func我知道如果在通过 更改名称之前更改了名称,则此方法将不起作用mod.run(func)

我的问题: 是否可以从导入的模块更改主模块中的功能,而不更改上面示例中的代码main.py?如果是这样,怎么办?

python python-import python-3.x

5
推荐指数
1
解决办法
3150
查看次数

如何在 brython 中创建 websocket JSObject?

我正在尝试使用Brython在浏览器中运行 Python 代码,并在该 Python 代码中使用 websockets。

我有工作的 JavaScript 代码,可以连接到位于http://www.websocket.org/echo.html的 Websocket echo 服务器。

根据文档,该函数JSObject可用于操作 Brython 中的 JavaScript 对象,但我无法使用 或 使其ws = JSObject(WebSocket("ws://echo.websocket.org/"))工作ws = JSObject(new WebSocket("ws://echo.websocket.org/"))

如何使用 Brython 在 Python 代码中制作一个连接到 echo 服务器的简单“Hello World”示例?


另请参阅如何使用 Brython 导入库以使用未内置于 Brython 的库(包括常用的 Python 标准库)。

html javascript python websocket brython

4
推荐指数
1
解决办法
675
查看次数