首页 > 解决方案 > 写入二进制文件python时的附加数据

问题描述

我正在尝试使用 python pickle 将字符串消息转储到二进制文件中,但是当我读取文件时,事实证明我在文件的开头和结尾有额外的数据。你能帮我了解如何删除它们吗?

Python代码:

import pickle
from array import array

msgAscii = 'N Schmidt Alfred 01.07.1953 1001 M Dorfner \\\\Station_1\\PM \\\\*\\SIDEXIS \r\n'
msgAscii = msgAscii.replace(' ','\x00')
msgAsciiLength = len(msgAscii) + 2
arrayLength = [(msgAsciiLength>>(8*i))&0xff for i in range(1,-1,-1)]

msgAscii = chr(arrayLength[0]) + msgAscii
msgAscii = chr(arrayLength[1]) + msgAscii
pickle.dump(msgAscii,open('sidexis.sdx', 'wb+'))

十六进制文件结果

在此处输入图像描述

0x0D ,0x0A 应该是最后一个十六进制值,而 0x4A, 0x00 应该是前 2 个值。

谢谢!

标签: pythonpython-3.xpickle

解决方案


推荐阅读