H! 此问题涉及字符串和编码。 我有一个文件 'build_list.txt':python encoding utf'Miały'不等于'Miały'
Miały password
something not important
stuff stuff
stuff
和阅读file.py:
import csv
with open('build_list.txt', 'r', encoding='utf-8') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for i, row in enumerate(spamreader):
if i == 0:
username = str(row[0]).strip()
password = str(row[1]).strip()
if username != "Miały":
print("FAIL: {!r} != {!r}".format(
username.encode('utf-8'), "Miały".encode('utf-8')))
它打印
FAIL: b'\xef\xbb\xbfMia\xc5\x82y' != b'Mia\xc5\x82y'
为什么是这样的,以及如何解决它?
我使用pycharm,节省使用UTF-8编码的窗户txt文件(ANSI产生奇怪的字符)
FAIL:b'\ xef \ xbb \ xbfMa \ xc5 \ x82y'!= b'Mia \ xc5 \ x82y' –
啊哈!字节顺序标记再次打击。你能否在你的问题中编辑这个问题,而我重写我的答案以便真正回答? – zwol
hm?你能指点我解决吗? :> //缺少大括号if(row [0] ==“Miały”): –