Çok yakın zamanda Py 3.5'e taşındım. Bu kod Python 2.7'de düzgün çalışıyordu:
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 sürümüne geçtikten sonra:
TypeError: a bytes-like object is required, not 'str'
son satırda hata (kalıp arama kodu).
Ben .decode()
deyim her iki tarafında işlevini kullanarak denedim , ayrıca çalıştı:
if tmp.find('some-pattern') != -1: continue
- boşuna.
Hemen hemen tüm 2: 3 sorunlarını hızlı bir şekilde çözebildim, ancak bu küçük ifade beni rahatsız ediyor.