Что является противоположностью fromtimestamp ()? - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь выяснить, как импортировать двоичный файл в python, но это много догадок, проб и ошибок. В этом случае я хотел бы найти, где в байтовом потоке встречается указанная дата c, то есть:

import re
import datetime
import binascii
import time

with open('inputfile.nda', 'rb') as f:
    data = f.read()

# This line needs fixing
i = int.oppositeof_fromtimestamp(2019, 10, 10, 14, 53, 57.000) # '2019/10/10 14:53:57.000' 


time_stamp = i.to_bytes(4, byteorder='little')

df = [m.start() for m in re.finditer(time_stamp, data)]

print(df)

Существует ли функция (или набор функций), которая может преобразовать дата в байпотоке?

1 Ответ

0 голосов
/ 04 февраля 2020

Вы ищете datetime.timestamp():

import datetime

ts = datetime.datetime(2019, 10, 10, 14, 53, 57)
unix_time = int(ts.timestamp())
unix_time_bytes = unix_time.to_bytes(4, byteorder='little')
print(ts, unix_time, unix_time_bytes)

вывод

2019-10-10 14:53:57 1570708437 b'\xd5\x1b\x9f]'

Тогда вы, вероятно, захотите использовать data.index(unix_time_bytes) для поиска строки, а не регулярных выражений .

...