Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 3.x Jupyter笔记本中的精确字符串不匹配_Python 3.x_Jupyter Notebook - Fatal编程技术网

Python 3.x Jupyter笔记本中的精确字符串不匹配

Python 3.x Jupyter笔记本中的精确字符串不匹配,python-3.x,jupyter-notebook,Python 3.x,Jupyter Notebook,我想做什么 我在读文件名,文件末尾有各种器官名称,有许多这样的文件使用glob.glob('filename/**/blabla')) 后来,我尝试使用IN运算符匹配文件名中存在的特定字符串。像 “blabla/blabla/blabla/blabla_肾上腺(左).NRRD”中的“肾上腺(左).NRRD” 它适用于具有相同结尾的其他文件名,但对少数文件名不起作用。 为了调试,我试图匹配两个文件的相同文件名结尾在编程上是否相同,但它们不是!!!为什么? 对于调试,我尝试将字符串与字符串匹配。如下

我想做什么

我在读文件名,文件末尾有各种器官名称,有许多这样的文件使用glob.glob('filename/**/blabla'))

后来,我尝试使用IN运算符匹配文件名中存在的特定字符串。像

“blabla/blabla/blabla/blabla_肾上腺(左).NRRD”中的“肾上腺(左).NRRD”

它适用于具有相同结尾的其他文件名,但对少数文件名不起作用。 为了调试,我试图匹配两个文件的相同文件名结尾在编程上是否相同,但它们不是!!!为什么?

对于调试,我尝试将字符串与字符串匹配。如下图所示。但在比较python中的字符串时,我看到了一件奇怪的事情。 有人能告诉我这里有什么不同吗

**

'肾上腺(左)。NRRD'='阿肾上腺(左)。NRRD'=>错误

**

我把它降到这一部分,“A”不匹配,而其他匹配正确


正如@canbax所提到的,我检查了这两个字符的下划线ASCII值,发现它们不同。其中一个给出了65(英文字母“A”的标准ASCII码),而另一个给出了1040

您可以使用
ord()
获取字符的ASCII int值

尽管int值不同,但在视觉上它们看起来是相同的,这可能是jupyter笔记本电脑方面的问题


最终解决方案:
将文件中的花式A替换为普通A。

正如@canbax提到的,我检查了两个字符的下划线ASCII值,发现它们不同。其中一个给出了65(英文字母“A”的标准ASCII码),而另一个给出了1040

您可以使用
ord()
获取字符的ASCII int值

尽管int值不同,但在视觉上它们看起来是相同的,这可能是jupyter笔记本电脑方面的问题


最终解决方案:
将文件中的花式A替换为普通A。

您确定它们仅为1个字符吗。也许有spaces@canbax是的,我仔细检查过了。没有空格或其他内容。请尝试复制粘贴“A”,并使用
ord()
函数检查
int
值。也许他们不一样characters@canbax,是的,你是对的,一个给出了65,A的通常ASCII码,而另一个给出了1040。但是,如果这是其他文学剧本中的一个特殊角色,它看起来有什么相同之处呢?Jupyter笔记本会向你展示这些角色。你可以向他们报告一个bug。我不知道是怎么发生的。你确定他们只是一个角色吗。也许有spaces@canbax是的,我仔细检查过了。没有空格或其他内容。请尝试复制粘贴“A”,并使用
ord()
函数检查
int
值。也许他们不一样characters@canbax,是的,你是对的,一个给出了65,A的通常ASCII码,而另一个给出了1040。但是,如果这是其他文学剧本中的一个特殊角色,它看起来有什么相同之处呢?Jupyter笔记本会向你展示这些角色。你可以向他们报告一个bug。我不知道它是怎么发生的。@canbax回答它,我可以让你的答案成为被接受的答案。我认为这只是一个评论,可以解决这个问题,不需要回答。所以我回答了。继续,贴一个答案。不,谢谢。我想要我应得的选票。这只是个玩笑;)@如果你能回答,我就能让你的答案成为公认的答案。我认为这只是一个评论,可以解决这个问题,不需要回答。所以我回答了。继续,贴一个答案。不,谢谢。我想要我应得的选票。这只是个玩笑;)