TypeError: требуется байтоподобный объект, а не 'str' при записи в файл в Python3

Я совсем недавно перешел на Py 3.5. Этот код работал правильно в Python 2.7:

with open(fname, 'rb') as f:
    lines = [x.strip() for x in f.readlines()]

for line in lines:
    tmp = line.strip().lower()
    if 'some-pattern' in tmp: continue
    # ... code

После обновления до 3.5 я получаю сообщение об ошибке:

TypeError: a bytes-like object is required, not 'str'

в последней строке (код поиска шаблона).

Я пытался использовать функцию .decode() по обе стороны оператора, также пытался:

if tmp.find('some-pattern') != -1: continue

- безрезультатно.

Мне удалось быстро решить почти все проблемы 2: 3, но это небольшое утверждение меня беспокоит.

462
задан Martijn Pieters 21 August 2019 в 21:30
поделиться