Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python模块获取顶级作用域变量_Python 3.x - Fatal编程技术网

Python 3.x Python模块获取顶级作用域变量

Python 3.x Python模块获取顶级作用域变量,python-3.x,Python 3.x,嘿,在我的python模块(用python编写)中,我希望能够从顶级作用域访问变量,即调用模块的文件。我该怎么做呢? 谢谢。这不可能在所有环境中都适用,因此准确的答案可能取决于您如何运行顶级Python代码。最好的办法是将变量放入一个对象中,并将该对象传递给需要它的函数。通常,这样做的方法是为插件(例如,它们导入的模块)提供一些API,以提供对所需信息的受控访问 如果这些信息可能因上下文而异,并且向插件初始化函数传递不同的参数是不合适的,那么在封面下使用threading.local的信息API

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

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

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


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

问题是,我基本上是使用导入来为我的IRC bot动态导入插件。问题是很难访问我的用户列表,这样…难道你的插件API的一部分不能调用你将插件传递给它的上下文吗?