Saya baru-baru ini pindah ke Py 3.5. Kode ini berfungsi dengan baik di 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
Setelah meningkatkan ke 3.5, saya mendapatkan:
TypeError: a bytes-like object is required, not 'str'
kesalahan pada baris terakhir (kode pencarian pola).
Saya sudah mencoba menggunakan .decode()
fungsi di kedua sisi pernyataan, juga mencoba:
if tmp.find('some-pattern') != -1: continue
- tidak berhasil.
Saya dapat menyelesaikan hampir semua masalah 2: 3 dengan cepat, tetapi pernyataan kecil ini menggangguku.
result = requests.get
dan saya berusaha x = result.content.split("\n")
. Saya sedikit bingung dengan pesan kesalahan karena tampaknya menyiratkan bahwa itu result.content
adalah string dan .split()
memerlukan objek byte-suka .. ?? ("objek seperti byte diperlukan, bukan 'str"') ..