Eu mudei recentemente para o Py 3.5. Este código estava funcionando corretamente no 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
Depois de atualizar para o 3.5, estou recebendo o:
TypeError: a bytes-like object is required, not 'str'
erro na última linha (o código de pesquisa padrão).
Eu tentei usar a .decode()
função em ambos os lados da instrução, também tentei:
if tmp.find('some-pattern') != -1: continue
- para nenhum proveito.
Consegui resolver quase todos os problemas 2: 3 rapidamente, mas esta pequena declaração está me incomodando.
result = requests.get
e tento x = result.content.split("\n")
. Estou um pouco confuso com a mensagem de erro, porque parece implicar que result.content
é uma string e .split()
está exigindo um objeto semelhante a bytes .. ?? ( "Bytes de um objecto semelhante é necessária, não 'str"') ..