2016-01-22 423 views
1

我想調試一些代碼,使用內置的任何函數,但我沒有看到我在做什麼錯。我可以使用PDB訪問變量,但是一旦我將它用於任何函數的生成器中,它似乎突然被認爲是未定義的。我究竟做錯了什麼?「名稱錯誤:全局名稱未定義」拋出,而PDB認爲它定義

-> src = self['src'] 
(Pdb) n 
-> if any(key not in src for key in self.keys): 
(Pdb) p src 
{'type': 'local', 'location': '/tmp/tmpy5F3Rz/secrets'} 
(Pdb) p type(src) 
<type 'dict'> 
(Pdb) p self.keys 
['location', 'type'] 
(Pdb) [key not in src for key in self.keys] 
[False, False] 
(Pdb) n 
*** NameError: global name 'src' is not defined 
+0

你能發表全部代碼嗎? – univerio

+0

我無法發佈超過StackOverflow上的內容。 –

+0

這是行不通的,但我不知道它爲什麼有所作爲: 如果有的話([密鑰不在src中用於self.keys中的密鑰]): –

回答