Исправлена ​​ошибка повторного чтения байтового файла Python - PullRequest
0 голосов
/ 10 февраля 2011

так у меня

    f = open(infile, mode = 'rb')
    while f:
        line = f.read(int(k))
        ints = list(line)
        print(type(line))

и т. Д. .... теоретически это должно считывать файл в байтовом режиме, так как я добавил 'b' в режим ... но затем, когда консоль выдает печать (тип (строка)) .... он будет возвращать тип в виде строки, а не байтов ..... что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

Они все еще персонажи. Все, что делает «b» - это предотвращает изменение концов строки. РЕДАКТИРОВАТЬ: На самом деле тип байта является новым в Python 3, и использование 'b' вернет байтовый массив.

0 голосов
/ 10 февраля 2011

Я думаю, вы должны использовать Python 2. (2.6 / 2.7) Там str 8-битный байт, поэтому выход отображается как 'str'.Если вы используете Python 3 с указанным выше кодом, вы обнаружите, что тип (строка) будет отображать class 'bytes'.

...