python去掉字符串前面有个u_从Python字符串中删除u202a

最初创建.py文件时,文本编辑器引入了非打印字符。在

考虑这一行:carregar_uml("‪H:\\7 - Script\\teste.csv", variaveis)

让我们仔细选择字符串(包括引号),并将其复制粘贴到交互式Python会话中:

^{pr2}$

如您所见,在H之前有一个代码点为U-202A的字符。在

正如其他人指出的,代码点U-202A的字符是LEFT-TO-RIGHT EMBEDDING。回到我们的Python会话:>>> s = "‪H:\\7 - Script\\teste.csv"

>>> import unicodedata

>>> unicodedata.name(s[0])

'LEFT-TO-RIGHT EMBEDDING'

>>> unicodedata.name(s[1])

'LATIN CAPITAL LETTER H'

>>>

这进一步确认字符串中的第一个字符不是H,而是非打印LEFT-TO-RIGHT EMBEDDING字符。在

我不知道你用什么文本编辑器来创建你的程序。即使我知道,我可能不是那个编辑的专家。不管怎样,你使用的一些文本编辑器插入,你不知道,U+202A

一种解决方案是使用文本编辑器,它不会插入该字符,并且/或将突出显示非打印字符。例如,在vim中,该行显示如下:carregar_uml("<202a>H:\\7 - Script\\teste.csv", variaveis)

使用这样的编辑器,只需删除"和{}之间的字符。在carregar_uml("H:\\7 - Script\\teste.csv", variaveis)

即使这一行在视觉上与你原来的一行完全相同,我还是删除了这个冒犯的字符。使用这一行将避免您报告的OSError。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值