Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python编码问题?_Python - Fatal编程技术网

Python编码问题?

Python编码问题?,python,Python,我需要测试某个字符串(例如“võiks”)是否等于目录中包含的任何文件的名称 >>>words = [ f.replace('.html', '') for f in listdir('lemma_pages/test') if isfile(join('lemma_pages/test',f)) ] >>>words ['võibolla', 'võid', 'võiks', 'võimalik', 'võin', 'võta', 'võtan', 'võ

我需要测试某个字符串(例如“võiks”)是否等于目录中包含的任何文件的名称

>>>words = [ f.replace('.html', '') for f in listdir('lemma_pages/test') if isfile(join('lemma_pages/test',f)) ]

>>>words
['võibolla', 'võid', 'võiks', 'võimalik', 'võin', 'võta', 'võtan', 'võtta']

>>>'võiks' in words
False
但是当我测试它的时候,当我预料不到的时候,我就错了。我以这种方式打开包含以下文字的文件:

open('et_500.txt', 'rt', encoding="utf-8")

知道我做得不对吗?

数据可能没有标准化。在比较字符串之前,请使用以下命令进行规格化:

data = unicodedata.normalize('NFC', data)

为了提供更多细节,
õ
可以是,也可以后面跟着。标准化是必要的,这样无论你得到哪种口味,它们都会进行相同的比较。

你在哪个平台上?如果这是在Mac上,请查看终端中的
sys.getdefaultencoding()
的结果?