在 MMO 游戏中用户帐户统计信息存储在 .dat 文件中。我知道这是 python 泡菜。 我对py不专业(真的我不懂这门语言)然后我就写
data = pickle.load(fp)
pprint.pprint(data)
我得到这样的输出
(8,
{(2, 1): (1315840806,
'\x14\x00&#nNWH\x00\x00\x06\x90\xb3\x00\... lostsa bytes),
(2, 17): (1327141794,
"\x14\x00\xa2\x93\x1aOS=\x00\x00\x06T\xaa\x00\x00\x8d\x06>\x00\x00\x00*\...
我想从中提取信息。格式应该是这样的
offs byte
0 11
1 00
2 ac ;last batt time(4)
3 8d ;last batt time(4)
4 54 ;last batt time(4)
5 4d ;last batt time(4)
6 e8 ;battle lifetime(4)
7 69 ;battle lifetime(4)
8 00 ;battle lifetime(4)
9 00 ;battle lifetime(4)
10 04 ;maxfrags (1)
11 db ;xp (4)
12 95 ;xp (4)
13 00 ;xp (4)
14 00 ;xp (4)
15 6f ;maxXP (2)
16 06 ;maxXP (2)
等等……
我不知道如何在python中获取字节码,以及什么是数据之王
(8,
{(2, 1): (1315840806,
对象?大批?如何迭代它。我如何将数据保存为二进制字符串来分析它?代码示例值得赞赏,但继续前进的一些方法应该对您有用。谢谢。
请您参考如下方法:
[] 表示列表,() 表示元组(不可变列表),{} 表示字典(即 map )。
考虑:
(8,
{(2, 1): (1315840806,
'\x14\x00&#nNWH\x00\x00\x06\x90\xb3\x00\... lostsa bytes),
在顶层,这是一个元组:
- 第一个元素是标量
8。 - 第二个元素是一个字典,我们只看到其中第一个条目的一部分:
- 条目的键是元组
(2, 1)。 - 该条目的值也是一个元组;它以
1315840806开头,后跟一个包含二进制数据的字符串。
- 条目的键是元组
希望你明白了。
