清除库的潜在变量[关闭]

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

玩具问题来说明我正在经历的意外行为

import some_lib.some_func
some_lib.some_func("foo")
some_lib.some_func("bar")

会在第三行报错,说一些变量已经定义了。

但是,如果我反转 2 个电话

some_lib.some_func()

import some_lib.some_func
some_lib.some_func("bar")
some_lib.some_func("foo")

STILL在第三行失败。

我的猜测是

some_lib.some_func()
在某处有一些潜在变量,应该在再次调用之前清理它。

我试过:

from importlib import reload
import some_lib.some_func
some_lib.some_func("foo")
some_lib.some_func = reload(some_lib.some_func)
some_lib.some_func("bar")

some_lib
不属于我,我不愿意去解决根本原因。 没有成功。有什么想法吗?

python global-variables global
© www.soinside.com 2019 - 2024. All rights reserved.