我正在寻找一种在python中使用通用或集中字典的方法。我有几个脚本可以处理相同的数据集,但做不同的事情。我在这些脚本(例如乐器名称)中使用了dictionarys,这些脚本在多个脚本中使用。如果我进行更改或添加值,我必须做出shure,我会在所有脚本中执行此操作,这当然是痛苦的,容易出错。
是否有可能,我有一本字典并在所有不同的脚本中使用它?
感谢任何帮助 - 谢谢。
答案 0 :(得分:2)
如果您在谈论在同一进程中运行的多个脚本,或者需要共享相同数据的多个进程,我并不完全理解:
多个流程:
我认为,在多个脚本(不同进程)之间共享数据的最简单方法是使用简单的文件数据库。
SQLite3捆绑了Python,所以这将是一个不错的选择。
单个流程:
如果您只是想集中访问同时运行的多个方法(在同一个进程中),那么您可以在一个脚本中声明您的字典,让所有其他人访问该位置,而不重复结构。 您基本上在脚本中声明此dict,并将其导入其他所有。
答案 1 :(得分:1)
对于这种情况,我的项目根目录中有一个general_values.py
文件。
由于列表和dictionaries
都使用对存储值的引用,因此在不同脚本中使用相同的dict
或list
不会导致问题,因为它们都将使用相同的单个数据存储在记忆中。
Likwise:
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}
答案 2 :(得分:1)
一些选项:
dict
的接口来跨进程持久化密钥并可用于其他语言。