Форум сайта python.su
Подскажите как открыть файл (.avi) в hex коде
Надо открыть файл видео в виде кода и парсить на нахождение одинаковых сочетаний кода..
Офлайн
sanodinа что
открыть файл (.avi) в hex коде
open('some.avi', 'rb')
Офлайн
зависает почему то
bytelist = []
bytes = open('1.avi','rb')
filedata = bytes.read()
for byte in filedata:
bytelist.append(byte)
print bytelist
Офлайн
.read - не самый лучший выбор для чтения больших файлов.
И я бы посоветовал использовать bytearray вместо обычного списка:
bytelist = bytearray()
with open('1.avi','rb') as bytes:
for byte in bytes:
bytelist.extend(byte)
Офлайн
на выходе
RIFFbF
Офлайн
зачем его вообще в память загружать ?
sanodinпотому что файл загружается в память
зависает почему то
Отредактировано (Дек. 20, 2011 23:12:18)
Офлайн
В общем в этом коде
bytelist = []
f = open('1.txt', 'rb').read()
bytelist = [ ord(c) for c in f]
print(bytelist)
file=open('2.dat','wb')
file.write(str(bytelist))
file.close()
Офлайн
Извиняюсь работает скрипт
bytelist = bytearray()
with open('01.mp3','rb') as bytes:
for byte in bytes:
bytelist.extend(byte)
file=open('2.dat','wb')
file.write(str(bytelist))
file.close()
Офлайн
скриптом выношу из бинарного во временной файл hex
bytelist = bytearray()
with open('01.mp3','rb') as bytes:
for byte in bytes:
bytelist.extend(byte)
file=open('2.dat','wb')
file.write(str(bytelist))
file.close()
file=open('2.dat','rb')
data=file.read()
file.close()
file=open('2.dat','wb')
file.write(str(data.encode('hex')))
file.close()
Офлайн
может воспользоваться для записи количества повторений itertools.groupby ?
И кстати может не надо изобретать велосипеды вам просто RLE не подойдет?
http://www.inference.phy.cam.ac.uk/mackay/python/compress/
Отредактировано (Дек. 22, 2011 20:52:47)
Офлайн