我收到缩进错误,我不明白为什么,我定义了两个dicts列表,第一个是好的,但第二个(遵循相同的格式)是抛出缩进错误。
列出一个(没问题):
itemData = [{'id': 11, 'model': 'm1', 'serial': 'ser123', 'location': 3, 'distance': 2, 'loc': 3},
{'id': 12, 'model': 'm1', 'serial': 'ser456', 'location': 3, 'distance': 2, 'loc': 3}]
第二个清单的第一个版本:
itemData2 = [{'id': 11, 'model': 'm1', 'serial': 'ser123', 'location': 3, 'distance': 2, 'loc': 3},
{'id': 12, 'model': 'm1', 'serial': 'ser456', 'location': 3, 'distance': 2, 'loc': 3},
{'id': 13, 'model': 'm2', 'serial': 'ser678', 'location': 5, 'distance': 2, 'loc': 5}]
抛出:
Traceback (most recent call last):
File "job_manager.py", line 1, in <module>
from NewJM import JobMonitor
File "C:\Users\Jonathan\Documents\Coding\Python\Logistics Code\NewJM.py", line 56
itemData2 = [{'id': 11, 'model': 'm1', 'serial': 'ser123', 'location': 3, 'distance': 2, 'loc': 3},
^
IndentationError: unindent does not match any outer indentation level
第二个版本的第二个列表:
itemData2 = [
{'id': 11, 'model': 'm1', 'serial': 'ser123', 'location': 3, 'distance': 2, 'loc': 3},
{'id': 12, 'model': 'm1', 'serial': 'ser456', 'location': 3, 'distance': 2, 'loc': 3},
{'id': 13, 'model': 'm2', 'serial': 'ser678', 'location': 5, 'distance': 2, 'loc': 5}
]
抛出:
Traceback (most recent call last):
File "job_manager.py", line 1, in <module>
from NewJM import JobMonitor
File "C:\Users\Jonathan\Documents\Coding\Python\Logistics Code\NewJM.py", line 56
itemData2 = [
^
IndentationError: unindent does not match any outer indentation level
我很困惑为什么会发生这种情况,特别是因为列表2的第一个版本是列表一的直接副本,只是添加了另一个字典。有什么想法吗?
答案 0 :(得分:1)
看起来你的代码中有空格混合标签。 您问题代码的简单复制粘贴可以正常工作。
答案 1 :(得分:0)
看起来在该行上发生了缩进,我添加了一些空格检查并添加了pyflakes作为额外的预防措施。在此期间,我会检查以确保缩进不会在该行之前或之后发生。
答案 2 :(得分:0)
阅读这篇文章:
IndentationError: unindent does not match any outer indentation level
(以及上述评论)
让我调查了itemData2列表周围的空白,
使用ctrl + /
命令对列表进行评论我发现了这个:
# itemData2 = [
# {'id': 11, 'model': 'm1', 'serial': 'ser123', 'location': 3, 'distance': 2, 'loc': 3},
# {'id': 12, 'model': 'm1', 'serial': 'ser456', 'location': 3, 'distance': 2, 'loc': 3},
# {'id': 13, 'model': 'm2', 'serial': 'ser678', 'location': 5, 'distance': 2, 'loc': 5}
# ]
应该是这样的:
# itemData2 = [
# {'id': 11, 'model': 'm1', 'serial': 'ser123', 'location': 3, 'distance': 2, 'loc': 3},
# {'id': 12, 'model': 'm1', 'serial': 'ser456', 'location': 3, 'distance': 2, 'loc': 3},
# {'id': 13, 'model': 'm2', 'serial': 'ser678', 'location': 5, 'distance': 2, 'loc': 5}
# ]
它像上面提到的那样搞乱了标签和空格