Проблема чтения / записи определенных строк в файле журнала в Python - PullRequest
0 голосов
/ 05 января 2012

Я пытаюсь напечатать строку, содержащую слово из файла журнала.

Я провел некоторое исследование и пока не нашел хорошего способа реализовать это.

В настоящее время у меня есть этот код:

FileInput = open(FILE, "r", encoding='utf-8')

for line in FileInput:
    if "DATA: " in line:
        print line

После осмотра, похоже, большинство людей делают это, но я получаю следующую ошибку: TypeError: приведение к Unicode: нужна строка или буфер, найден NoneType.

Я знаю заданную длину из «DATA:», и строка заканчивается шестнадцатеричным значением 0A.

Ответы [ 3 ]

1 голос
/ 05 января 2012

Либо ваша переменная FILE не содержит правильную строку (можем ли мы увидеть значение этого? Вы можете сделать «print (FILE)» перед попыткой открыть файл и вставить сюда результат?), Или файл не являетсязакодирован таким образом, чтобы он был совместим с utf-8.Попробуйте открыть его в хорошем редакторе (например, jEdit или Notepad ++) и посмотрите, что редактор говорит вам, а затем укажите эту кодировку вместо utf.

0 голосов
/ 05 января 2012

попробуйте это:

FileInput = open(FILE, "r")
for line in FileInput:
    if "DATA: " in line:
        print(line)
0 голосов
/ 05 января 2012

Кажется, вам нужно использовать

import codecs
f = codecs.open(FILE, encoding='utf-8', mode='r')

Взгляните сюда Unicode HOWTO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...