【问题标题】:How to read a pickled object stored in a json file?如何读取存储在 json 文件中的腌制对象?
【发布时间】:2021-05-19 22:04:14
【问题描述】:

假设我执行以下操作:

a_list = [[1, 2, 3], ['a', 'b']]
foo_file = 'foo.json'
open(foo_file, 'wb').write(pickle.dumps(a_list))

如何从foo_file 恢复a_list?我在一个 github 程序中遇到了这个问题。我不知道作者为什么以这种方式存储数据,但我不知道如何阅读它。感谢您的帮助。

【问题讨论】:

    标签: python json pickle


    【解决方案1】:

    这不是 JSON 文件。扩展是一个谎言。这只是一个带有误导性文件扩展名的泡菜。

    像其他泡菜一样阅读它:

    with open('foo.json', 'rb') as f:
        data = pickle.load(f)
    

    【讨论】:

    • user2357112 谢谢,但代码不起作用。 “pickle.load”给出“UnsupportedOperation: read”,“pickle.loads”给出“TypeError: a bytes-like object is required, not '_io.BufferedWriter'”。
    • @arsinniusyahoocom:哎呀,不小心以写入模式打开了文件。固定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    相关资源
    最近更新 更多