我试图用Python打开一个文件,但是遇到了一个错误,在字符串的开头我得到了一个/u202a
字符。。。有人知道怎么把它取下来吗?在
def carregar_uml(arquivo, variaveis):
cadastro_uml = {}
id_uml = 0
for i in open(arquivo):
linha = i.split(",")
carregar_uml("H:\\7 - Script\\teste.csv", variaveis)
OSError: [Errno 22] Invalid argument: '\u202aH:\7 - Script\teste.csv'
最初创建.py文件时,文本编辑器引入了非打印字符。在
考虑这一行:
让我们仔细选择字符串(包括引号),并将其复制粘贴到交互式Python会话中:
^{pr2}$如您所见,在
H
之前有一个代码点为U-202A的字符。在正如其他人指出的,代码点U-202A的字符是
LEFT-TO-RIGHT EMBEDDING
。回到我们的Python会话:这进一步确认字符串中的第一个字符不是
H
,而是非打印LEFT-TO-RIGHT EMBEDDING
字符。在我不知道你用什么文本编辑器来创建你的程序。即使我知道,我可能不是那个编辑的专家。不管怎样,你使用的一些文本编辑器插入,你不知道,U+202A
一种解决方案是使用文本编辑器,它不会插入该字符,并且/或将突出显示非打印字符。例如,在
vim
中,该行显示如下:使用这样的编辑器,只需删除}之间的字符。在
"
和{即使这一行在视觉上与你原来的一行完全相同,我还是删除了这个冒犯的字符。使用这一行将避免您报告的
OSError
。在问题是文件的目录路径没有正确读取。使用原始字符串将其作为参数传递,它应该可以工作。在
您可以使用此示例代码从文件路径中删除u202a
如果我试图这样做,它会给我一个错误 细节
^{pr2}$但如果我这样做的话
它对我有用
相关问题 更多 >
编程相关推荐