我正在寻找一种在 python 中使用通用或集中式字典的方法。我有几个脚本可以处理相同的数据集,但是做不同的事情。我在这些脚本(例如仪器名称)中有字典,这些字典用于多个脚本。如果我进行更改或添加值,我必须确保我在所有脚本中都这样做,这当然很痛苦并且容易出错。
有没有可能,我有一本字典并在所有不同的脚本中使用它?
任何帮助表示赞赏 - 谢谢。
我正在寻找一种在 python 中使用通用或集中式字典的方法。我有几个脚本可以处理相同的数据集,但是做不同的事情。我在这些脚本(例如仪器名称)中有字典,这些字典用于多个脚本。如果我进行更改或添加值,我必须确保我在所有脚本中都这样做,这当然很痛苦并且容易出错。
有没有可能,我有一本字典并在所有不同的脚本中使用它?
任何帮助表示赞赏 - 谢谢。
我不完全理解您是在谈论在同一进程中运行的多个脚本,还是需要共享相同数据的多个进程:
几个过程:
我认为最简单的方法是在几个脚本(不同的进程)之间共享数据,是使用一个简单的文件数据库。
SQLite3 与 Python 捆绑在一起,因此这是一个不错的选择。
单进程:
如果您只是想集中访问同时运行的多个方法(在同一进程中),那么您可以在一个脚本中声明您的字典,并让所有其他方法访问该位置,而无需复制结构。你基本上在一个脚本中声明了这个字典,然后将它导入到所有其他脚本中。
对于这种情况,我的general_values.py
项目根目录中有一个文件。
由于列表和dictionaries
都是使用引用来存储值,因此使用相同dict
或list
不同的脚本不会导致问题,因为它们都将使用存储在内存中的相同的单个数据。
同样:
main_values.py
my_dict = {1:1}
some.py
import main_values
main_values.my_dict[2] = 2
other.py
import main_values
print main_values.my_dict
>> {1:1, 2:2}
一些选项:
dict
- 的接口来跨进程保留密钥并可以用于其他语言。