J'ai récemment migré vers Py 3.5. Ce code fonctionnait correctement dans 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
Après la mise à niveau vers 3.5, j'obtiens:
TypeError: a bytes-like object is required, not 'str'
erreur sur la dernière ligne (le code de recherche de modèle).
J'ai essayé d'utiliser la .decode()
fonction de chaque côté de la déclaration, j'ai également essayé:
if tmp.find('some-pattern') != -1: continue
- en vain.
J'ai pu résoudre presque tous les problèmes 2: 3 rapidement, mais cette petite déclaration me dérange.
result = requests.get
et j'essaye de le faire x = result.content.split("\n")
. Je suis un peu confus par le message d'erreur car il semble impliquer qu'il result.content
s'agit d'une chaîne et .split()
nécessite un objet de type octets .. ?? ("un objet de type octets est requis, pas 'str"').