提问人:George 提问时间:7/6/2023 更新时间:7/6/2023 访问量:26
(蟒蛇)如何使导入的函数自动与全局变量交互?
(Python) How do I make imported functions automatically interact with global variables?
问:
假设我想模仿以下行为:
Databases = ... # 'global' object
def fn(query):
return query_database(query, Databases)
在本例中,Databases 是一个定义的对象,因此我可以在我的函数中调用它。
现在假设我的函数“fn”和“数据库”在不同的文件中,我将“fn”导入到我的数据库文件中。我可以让它“开箱即用”地复制类似的行为吗?到目前为止,我的尝试如下:
def fn(query, databases = None):
# databases are in a different file
return query_database(query, databases)
from fn_module import fn
from toolz import curry # alternatively import partial from functools, but it gives some issues
fn = curry(fn)(databases=Databases) # Now function works as expected
现在,这有效,但是,我有很多函数,对于每个函数来说,这样做都非常乏味,因为我必须整理很多不同的变量。有没有更系统的方法(或者干脆进行全面检修)?
答: 暂无答案
评论
Databases
fn
fn