由于解码错误,无法使用Python从.txt文件中读取行

问题描述 投票:0回答:1

我想逐行读取.txt文件,但发生错误,说''gbk'编解码器无法解码位置5195中的字节0x9d:非法的多字节序列

我不太明白这一点。有多种方法可以解码.txt文件,因此我需要指定一些内容?还是应该以某种方式转换.txt文件?

import urllib2

fname = urllib2.urlopen("https://www.gutenberg.org/files/1661/1661-0.txt")
for line in fname:
    print(line[0])

BTW,我尝试下载.txt文件并从本地驱动器打开。同样的问题。有人看过吗?

python decode
1个回答
0
投票

如果使用python3,请使用它:

import urllib2

response = urllib2.urlopen("https://www.gutenberg.org/files/1661/1661-0.txt")

for line in response.decode('utf-8'):
    print(line[0])

或尝试请求包

import requests

response = requests.get("https://www.gutenberg.org/files/1661/1661-0.txt").text
© www.soinside.com 2019 - 2024. All rights reserved.