u202a导致python读取路径失败问题

python3读取windows路径多出来个’\u202a’

前言

最近一直在做一个python3+tkinter的GUI项目,有一个功能需求是通过获取用户粘贴板上的文件路径然后读取相关文件内容,在中间调试的过程中发现每次拿到的路径前面都有一个\u202a,在这里做个记录。

一、什么是‘\u202a’

\u202a是一个非常神奇的字符,只会出现在windows操作系统中。而且在我们常规的查询中是无法发现,如果使用手敲将其完整复现出来的话就会发现并不会出现这种情况。

那么\u202a是什么呢

他是一个UNICODE的字符,代表着顺序。下面列举一下常见的Unicode空值字符

名称 方向 Unicode 模式
left-to-right mark 左->右 u+200e 隐性
right-to-left mark 右->左 u+200f 隐性
left-to-right embedding 左->右 u+200a 显性
right-to-left embedding 右->左 u+200b 显性
left-to-right override 左->右 u+200d 显性
right-to-left override 右->左 u+200e 显性
left-to-right isolate 左->右 u+2066 显性
right-to-left isolate 右->左 u+2067 显性

二、他是怎么出现的呢

通常的字符复制都不会出现,一般都是因为从文件属性框安全栏里面复制了文件的路径出现。

u202a导致python读取路径失败问题_第1张图片

三、怎么处理呢

现在我收集到的资料只有通过strip函数完成他的去除了

    path = path.strip("\u202a")

注意:这里的替换字符我使用了\u202a而不是\\u202a 我在论坛上面也查到使用‘\’ 对于我并没有效果,因此可以替换尝试。

你可能感兴趣的:(python,python)