2024-04-29 09:38:11 发布
网友
我试图使用Brickman在legoev3上使用Python编码。当我试图运行我的代码时,我得到以下错误
>>robot@ev3dev:~$ python3 CoffeePi_Test/Main.py File "CoffeePi_Test/Main.py", line 14 tags=[‘coffeepi’] ^ SyntaxError: invalid character in identifier
这是我的密码。我不知道是什么触发了这个错误。在
幽默在stackoverflow上通常不受欢迎,但是这个规则也有例外,所以让我们把这个答案设为这样的例外。在
但让我们回到实际问题上来:
Can't determine cause of SyntaxError: invalid character in identifierI am not sure what is triggering this error.
Can't determine cause of SyntaxError: invalid character in identifier
I am not sure what is triggering this error.
我不得不承认,我写这个完全正确的答案时咯咯一笑:):
The cause of the SyntaxError is an invalid character in identifier.
标识符中的无效字符是以下字符:
[']
U+2019'e2 80 99右单引号
下面是Python代码,您可以用它自己找出导致问题的“字符”的详细信息:
#!/usr/bin/ python3 # -*- coding: <utf8> -*- # tags=[’coffeepi’] coffeepi = "’" print(ord(coffeepi), hex(ord(coffeepi)), bin(ord(coffeepi)))
什么指纹:
8217, 0x2019 , 0b10000000011001
看看这里
http://www.utf8-chartable.de/unicode-utf8-table.pl 我从那里得到关于这个角色的信息,这是这里 https://docs.python.org/3/reference/lexical_analysis.html#identifiers 有关标识符中允许哪些字符的详细信息,因为并不是所有字符都是,而且显然这一个字符不属于允许字符的范围。在
顺便说一句:这个“字符”不像ASCII字符那样是一个单字节字符。这个字符在UTF-8中的编码方式在Unicode表(e2 80 99)中指定。在
还有。。。在您在问题中提供的整个代码中,没有跟踪到您指定的导致错误消息的内容。在
你怎么能解决这个问题?在
Just replace these strange quotes with standard quotes " "
附录:奇怪的引号应该是一个字符串周围的标准引号,并将一个单词放入列表中。当Python解释器遇到这些奇怪的引号时,它假设它们是变量名(标识符)的一部分,而不是字符串规范的一部分。这就是为什么会出现令人困惑的错误消息的原因,因为您从代码中一眼就看不到,为什么Python解释器认为它处理的是变量名(标识符),而不是应该转换成Python字符串的带引号的文本部分。在
幽默在stackoverflow上通常不受欢迎,但是这个规则也有例外,所以让我们把这个答案设为这样的例外。在
但让我们回到实际问题上来:
我不得不承认,我写这个完全正确的答案时咯咯一笑:):
标识符中的无效字符是以下字符:
[']
U+2019'e2 80 99右单引号
下面是Python代码,您可以用它自己找出导致问题的“字符”的详细信息:
什么指纹:
看看这里
http://www.utf8-chartable.de/unicode-utf8-table.pl 我从那里得到关于这个角色的信息,这是这里 https://docs.python.org/3/reference/lexical_analysis.html#identifiers 有关标识符中允许哪些字符的详细信息,因为并不是所有字符都是,而且显然这一个字符不属于允许字符的范围。在
顺便说一句:这个“字符”不像ASCII字符那样是一个单字节字符。这个字符在UTF-8中的编码方式在Unicode表(e2 80 99)中指定。在
还有。。。在您在问题中提供的整个代码中,没有跟踪到您指定的导致错误消息的内容。在
你怎么能解决这个问题?在
附录:奇怪的引号应该是一个字符串周围的标准引号,并将一个单词放入列表中。当Python解释器遇到这些奇怪的引号时,它假设它们是变量名(标识符)的一部分,而不是字符串规范的一部分。这就是为什么会出现令人困惑的错误消息的原因,因为您从代码中一眼就看不到,为什么Python解释器认为它处理的是变量名(标识符),而不是应该转换成Python字符串的带引号的文本部分。在
相关问题 更多 >
编程相关推荐