gpt4 book ai didi

Java .dat 文件到 Python pickle

转载 作者:行者123 更新时间:2023-12-02 09:46:20 31 4
gpt4 key购买 nike

我有一些缓存文件,我将它们存储在java中的.dat文件中。这些是HashMap数据结构:

ObjectOutputStream oos = new ObjectOutputStream(new 
FileOutputStream(cachePath));
oos.writeObject(common_value_Cache);
oos.close();

现在使用我的 python 程序,我想打开这些文件并在相同的字典数据结构中读取它们:

withopen('/cache.dat', 'rb') as handle:
b = pickle.load(handle)

我能做得到吗?我收到很多错误,例如:ValueError:二进制模式不采用编码参数

如何在 python 中加载 .dat 文件?

最佳答案

你可以尝试javaobj-py3

生成编码HashMap结构的cache.json文件的java代码

import java.io.IOException;

import java.io.ObjectOutputStream;
import java.io.FileOutputStream;
import java.util.HashMap;

public class SaveHashMap{
public static void main(String[] args)throws IOException{
HashMap<String,String> obj=new HashMap<String,String>();
obj.put("foo","bar");
obj.put("lorem","ipsum");
obj.put("hello","world");
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("cache.dat"));
oos.writeObject(obj);
oos.close();
}
}

然后,执行上面的代码并使用 pip3 install javaobj-py3 安装包后

>>> import javaobj
>>> with open("cache.dat","rb") as f:
... b=javaobj.loads(f.read())
...
>>> print(b)
{'hello': 'world', 'lorem': 'ipsum', 'foo': 'bar'}

关于Java .dat 文件到 Python pickle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56615903/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com