【问题标题】:Python module get top scope variablesPython模块获取顶级范围变量
【发布时间】:2011-02-08 23:24:14
【问题描述】:

嘿,在我的 python 模块(用 python 编写)中,我希望能够从顶级范围访问变量,即调用模块的文件。我该怎么做呢? 谢谢。

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    不可能在所有环境中都有效,因此准确的答案可能取决于您运行顶级 Python 代码的方式。最好的做法是将变量放入一个对象中,然后将该对象传递给需要它的函数。

    【讨论】:

    • 问题是我基本上使用____import____ 为我的 IRC 机器人动态导入插件。问题是访问我的用户列表变得很困难......
    • 您的插件 API 的一部分不能调用您将其上下文传递给插件吗?
    【解决方案2】:

    通常,这样做的方法是为您的插件(例如它们导入的模块)提供一些 API,以提供对它们所需信息的受控访问。

    如果此信息可能因上下文而异,并且将不同的参数传递给插件初始化函数是不合适的,那么在幕后使用 threading.local 的信息 API 可能是有价值的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多