乌尔都语字符串看起来一样,但在比较中发现不平等的Python3

2024-09-29 22:00:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的应用程序中,我已经列出了文本文件中的(乌尔都语)单词(目前只有这样一个单词)

enter image description here

我还有另一个文本文件,上面有乌尔都语字符串(目前只有一个单词像这样,完全相同)

enter image description here

现在我需要找出字符串文件的字符串中是否存在word文件中的单词。为此,我将这两个文件读入这样的列表中

//正在读取字符串的文本文件。。。你知道吗

fileToRead = codecs.open('string.txt', mode, encoding=encoding)
fileData = fileToRead.read()
lstFileData = fileData.split('\n')


wordListToRead = codecs.open('words.txt', mode, encoding=encoding)
wordData = wordListToRead.read()
lstWords = wordData.split('\n')

我只是像这样遍历列表

for string in lstFileData:
    if string in lstWords:
        // do further work

不起作用,我也不知道为什么?尽管字符串是“فلسفے”,lstWords中有这个字符串。我需要添加一些编码吗?任何帮助都将不胜感激。你知道吗


Tags: 文件字符串txt列表readstringmodeopen
2条回答

May be it helped out someone like me

虽然听起来很有趣,但问题出在file encoding type。我在简单的记事本中打开文件进行一些更改并保存了它。它将我的文件从utf-8更改为utf-8 BOM。我的代码没用。一旦我用utf-8在notepad++中创建了新文件,同样的代码就开始正常工作了。(因为问题不在代码中,而是在文件编码中)

刚刚在python3中试用过,似乎对我很有用:

lstWords = ['a', 'فلسفے', 'b']
string = 'فلسفے'
if string in lstWords:
    print("yes")

编辑:同样,刚刚用文件IO测试了更新后的代码,效果很好(我没有指定编码)。下面是它的一个链接:https://trinket.io/python3/3890d8b261

相关问题 更多 >

    热门问题