“在解析”时,“SyntaxError:意外的EOF”在PDB中迭代字典时

时间:2012-03-19 20:56:36

标签: python twisted pdb

我在pdb请求中设置了GET跟踪。我想打印请求对象的所有属性。我在pdb中尝试以下内容:

(Pdb) request
<GET /foo HTTP/1.1>
(Pdb) for d in dir(request):
*** SyntaxError: unexpected EOF while parsing (<stdin>, line 1)

我确信这里有一些基本的东西。

2 个答案:

答案 0 :(得分:10)

您无法在pdb中输入多行语句。但是,如果要在断点上执行代码块,则可以使用commands命令; help commands了解更多信息。

您有时也可以将多行语句折叠为一行。例如:

for d in dir(request): print d

但是,在您的特定情况下,print dir(request)pp dir(request)似乎就足够了。

答案 1 :(得分:1)

在pdb提示符下,执行以下操作:

(Pdb) a = [1, 2, 3, 4]
(Pdb) for i in a:
*** SyntaxError: unexpected EOF while parsing (<stdin>, line 1)
(Pdb) import code
(Pdb) code.interact(local=locals())
>>> for i in a:
...     print i
... 
1
2
3
4