【问题标题】:Python pickle: how to read key-values pairs from pickle.loadsPython pickle:如何从 pickle.loads 中读取键值对
【发布时间】:2017-11-06 12:19:02
【问题描述】:

我有一个 .pkl 文件,我正在用 pickle 编写,带有键值对,并且可以正常工作。

但是我想知道,一旦我使用 pickle.load 从这个文件中读取,如何访问键值对。

content = pickle.load(open(COOKIE_FILENAME, "rb"))

content 是一个字典 (<type 'dict'>)。

如果我这样做:

for key in content:
    # this works, but I don't have the values

我想做的是:

for key, value in content:
    # do something with keys and values

但如果我这样做,我会得到:

E ValueError: 要解压的值太多

【问题讨论】:

  • content 是什么?我假设这是一个字典?反正这和pickle完全没有关系。
  • 考虑到你加载的对象确实是字典,那么你就做content.items()
  • for key, value in content.items()?
  • @timgeb 类型为<type 'dict'>
  • 既然如此,Jose 和 roganjosh 给了你答案!

标签: python pickle


【解决方案1】:

解决办法是:

for key, value in content.items():
    # do something with keys and values

感谢@Jose、@roganjosh 和@timgeb 通过 cmets 提供的帮助。

【讨论】:

    【解决方案2】:

    做的时候:

    for i in dict_object:
    

    您实际上是遍历键而不是值。 达到价值只需使用

    dict_object[i]
    

    只是说,但我认为@ShinDarth 的答案更好

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2012-09-23
      • 1970-01-01
      相关资源
      最近更新 更多