gpt4 book ai didi

python - 从文本文件读取时的 Unicode 编码

转载 作者:行者123 更新时间:2023-12-01 04:19:23 24 4
gpt4 key购买 nike

希望能帮到你。

我正在尝试获取一个字符串并检查它是否位于名为“PasswordList”的文本文件中。这是我为此编写的代码:

Password = input('Enter a password: ')    
with open('PasswordList.txt') as f:
Found = False
for line in f:
if Password in line:
print(line)
Found = True
if not Found:
print('Password is not in list')

如果我输入类似字母“e”的内容,它将返回包含它的行,直到到达位置 4583,并返回错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 4853: ordinal not in range(128).

我猜这与 ascii 和 unicode 之间的编码有关,因为在 Python 中试图使用 ascii 编解码器来解码 unicode 字符?

如果我尝试

print (str((sys.getdefaultencoding())))

然后我将“utf-8”作为默认编码。

我被困住了,我该怎么办?

最佳答案

使用 io 打开文件模块:

import io
with io.open('PasswordList.txt', encoding='cp1252') as f:
...

但是,您确实需要知道数据采用什么编码。文件本身通常不包含此信息,您必须知道它是如何创建的。

关于python - 从文本文件读取时的 Unicode 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33884471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com