【发布时间】:2020-04-21 22:22:00
【问题描述】:
我有一个带有 if 条件的 Python 程序,它检查一个项目是否不在字典中,如果不在则抛出错误。否则代码应该继续运行。但是,我在 if 条件之后收到与下一行代码相关的“无效语法”错误,我不明白为什么。如果单独运行该代码行可以正常工作,但如果与 if 语句一起运行则不行。我在程序中有多个异常,所以我不希望它们和剩余的代码都包含在 elif 条件的层次结构中。据我了解,我看不出这段代码有什么问题,所以如果有人能指出造成这种情况的原因,我将不胜感激。
这是一个示例代码,它也产生相同的错误和相关的错误消息。
代码示例:
item = 'a'
item_dict = {
'a': ['A1','A2','A3'],
}
if item not in item_dict:
raise Exception("Error")
# Extract the relevant add on codes from the dictionary.
item_codes = item_dict.get(item)
错误信息:
File "<stdin>", line 5
item_codes = item_dict.get(item)
^
SyntaxError: invalid syntax
编辑:我修复了示例代码中的拼写错误,但仍然收到相同的语法错误。请注意,仅当我将此代码块作为一个代码块运行时才会发生错误。如果我全部运行它,不包括分配 item_codes 变量的底线,然后自行运行该行,它很好并产生预期的结果,但我正在编写的代码需要作为一个完整的程序运行。
【问题讨论】:
-
你声明了
item_dict然后尝试访问items_dict? -
修复了声明 item_dict 的问题,但尝试访问 items_dict 后,此代码对我有用。
-
抱歉,我正在更改变量名称并简化示例代码,这是一个错误。修复此问题后,代码会产生相同的错误。
-
这是唯一的问题,如果您在第 2 行中将变量名称修复为 items_dict,它可以正常工作
-
如果您仍然遇到同样的问题,那么您运行的代码与您在此处共享的代码不同,因为此处的代码在更新时没有拼写错误是可以的
标签: python syntax syntax-error