python中的通用或集中词典

2024-05-16 05:57:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种在python中使用通用或集中式词典的方法。我有几个脚本在同一个数据集上工作,但是做不同的事情。我在这些脚本中有字典(例如,仪器名称),它们在多个脚本中使用。如果我进行更改或添加值,我必须让舒尔在所有脚本中都这样做,这当然是痛苦的,而且容易出错。你知道吗

有没有可能,我有一本字典,用在所有不同的脚本?你知道吗

感谢您的帮助-谢谢。你知道吗


Tags: 数据方法脚本名称字典事情仪器词典
3条回答

我不太明白你说的是在同一个进程中运行的几个脚本,还是需要共享相同数据的几个进程:

几个过程:

我认为在多个脚本(不同的进程)之间共享数据的最简单方法是使用一个简单的文件数据库。你知道吗

SQLite3与Python捆绑在一起,所以这是一个不错的选择。你知道吗

单个进程:

如果您只想集中访问同时(在同一进程中)运行的多个方法,那么您可以在一个脚本中声明您的字典,并让所有其他方法访问该位置,而无需复制结构。 基本上,在脚本中声明这个dict,然后将它导入所有其他脚本中。你知道吗

对于这种情况,我的项目根目录中有一个general_values.py文件。你知道吗

由于列表和^{}都使用引用来存储值,因此在不同的脚本中使用相同的dictlist不会导致问题,因为它们都将使用存储在内存中的相同数据。你知道吗

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}

一些选项:

  • 您可以使用共享的搁置文件。见http://docs.python.org/2/library/shelve.html
  • 您可以将配置信息存储在JSON/YAML或类似的文件中
  • 对于您的用例来说,这可能有些过分,但是像http://redis.io(或轻量级密钥存储)数据库这样的东西将使您能够使用类似dict的接口跨进程持久化密钥,并可用于其他语言。你知道吗

相关问题 更多 >