Python中eval函数传入Tkinter字符串报语法错误的原因分析
错误原因解析
eval() 函数要求传入的字符串必须是合法的Python表达式,你在name字段输入'abc'时触发语法错误,主要有两种可能:
- 使用了中文引号:如果输入的是中文单引号包裹的
‘abc’,Python无法识别中文引号作为字符串的定界符,直接判定为语法错误。 - 字符串语法不合法:比如输入时引号不配对(只打了一个单引号
'abc)、多输入了无效符号(比如'abc',),这类不符合Python语法规则的字符串,都会被eval()判定为语法错误。
补充:如果输入的是不带引号的abc,eval()会尝试查找名为abc的变量,此时抛出的是NameError,和你遇到的语法错误不属于同一类问题。
内容的提问来源于stack exchange,提问作者Anina
相关产品推荐
相关产品推荐

