Ich bin kürzlich auf Py 3.5 migriert. Dieser Code funktionierte in Python 2.7 ordnungsgemäß:
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
Nach dem Upgrade auf 3.5 erhalte ich Folgendes:
TypeError: a bytes-like object is required, not 'str'
Fehler in der letzten Zeile (der Mustersuchcode).
Ich habe versucht, die .decode()
Funktion auf beiden Seiten der Anweisung zu verwenden. Außerdem habe ich versucht:
if tmp.find('some-pattern') != -1: continue
- umsonst.
Ich konnte fast alle 2: 3-Probleme schnell lösen, aber diese kleine Aussage nervt mich.
result = requests.get
und es versuche x = result.content.split("\n")
. Ich bin ein wenig verwirrt von der Fehlermeldung, weil es zu implizieren scheint, dass result.content
es sich um eine Zeichenfolge .split()
handelt und ein byteähnliches Objekt erforderlich ist. ("ein