初学python,写了一段非常简单的代码,处理txt文本文件,找出关键词所在的段并显示,可运行出错。
首先我尝试打开ansi编码的txt文本文件,代码如下:
[Asm] 纯文本查看 复制代码 f = open('h:/无限恐怖.txt','r')
i=0
p = f.readlines()
for s in p:
if '大势' in s:
i = i+1
print(i,s)
f.close()
代码运行出错:
Traceback (most recent call last):
File "E:/python实验室/查询文本文件关键字.py", line 17, in <module>
p = f.readlines()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa1 in position 2566: illegal multibyte sequence
于是我用记事本将该txt文本文件另存为utf-8编码的文件,并编写如下代码:
[Asm] 纯文本查看 复制代码 f = open('h:/书/人物/无限恐怖.txt','r',encoding='utf-8')
i=0
p = f.readlines()
for s in p:
if '大势' in s:
i = i+1
print(i,s)
f.close()
程序能够得到正确的结果。
我也试过用加encoding='utf-8'的方式尝试打开处理ansi编码的文件,但是失败。到底该如何解码呢?报错信息提示解码失败。
python的版本是3.8.3
我该怎样直接运行程序直接处理ansi编码的文本文件呢?如果只是用记事本打开再另存为的话,有点太麻烦了。
希望哪位高手指点一二,十分感谢。
|