Форум сайта python.su
0
Читаем и обрабатываем файл в бинарном режиме. В файле текст “analizator…”
Задано чтение 16-и байтов, поэтому читаются лишние три нуля…
Два вопроса:
1. Как сделать по длине файла?
2. Как запустить в Python 2.7
Текст Python 3.5
f = open ('file_.txt','rb') for i in range (16): d=int.from_bytes(f.read(1), byteorder='big') ''' алгоритм обработки ''' print (hex(d), end=" ") print (chr(d)) f.close()
Отредактировано sav (Дек. 22, 2015 15:39:28)
Офлайн
221
sav
В бесконечном цикле while считывайте по 1 байту, когда вернет пустую строку - тогда файл закончился и выходите из цикла. Пробуйте
Офлайн
857
f.read(13)
Офлайн
0
Попытка запустить в Python 2.7
f = open ('file_.txt','rb') for i in range (16): d=int.from_bytes(f.read(1), byteorder='big') ''' алгоритм обработки ''' print (chr(d)) f.close(
Documents and Settings/Администратор/Мои документы/Downloads/2015-09-05 17-25-33/exp.py”, line 3, in <module>Офлайн
0
savhttps://docs.python.org/3/library/stdtypes.html#int.from_bytes
Попытка запустить в Python 2.7
Офлайн
0
Спасибо, но ничего не помогает из этой ссылки…
Эти примеры не работает:
>>> int.from_bytes(b'\x00\x10', byteorder='big') 16 >>> int.from_bytes(b'\x00\x10', byteorder='little') 4096 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=True) -1024 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=False) 64512 >>> int.from_bytes([255, 0, 0], byteorder='big') 16711680
Отредактировано sav (Дек. 25, 2015 20:53:12)
Офлайн
221
sav
Это из третьего Питона
Офлайн