簡體   English   中英

Python從二進制文件中提取日期數據

[英]Python extraction of date data from a binary file

我有一個使用二進制格式打開的文件

with open(filename, 'br') as f2

然后,我需要提取十六進制的某些塊。 代碼中將包含許多這些“日期”,如下所示:

F2 96 E6 20 36 1B E4 40

我需要提取此實例的每個實例,以便我完成對它的日期編輯。 每個“日期”將以上述的十六進制字符40結尾。

我已經嘗試過正則表達式,但是這些似乎並沒有按照我的意願工作。

例如

re.findall(b'............\\\x40', filename)

有人可以協助嗎?

我認為您使用十六進制表示法混淆了字節。 0x40是整數64十六進制表示形式,它是符號@的ascii代碼。

with open(filename, 'rb') as f:
    results = re.findall('.{7}@', f.read())
    print results

請注意,以下正則表達式是等效的: '.{7}@''.......@''.......\\x40'

>>> print 0x40, hex(64)
64 0x40
>>> print chr(0x40)
@

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM