python - 如何在 for 循环中找到导致错误的对象?
问题描述
my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']
for element in my_list:
some_function()
此错误在某个对象上,但我无法放置哪个。在 some_function() 上找出哪个对象出错的简单方法是什么?
解决方案
调试这样简单的事情的一种快速方法是使用pdb
. 例如:
import pdb
my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']
for element in my_list:
pdb.set_trace()
some_function()
在这种情况下,您会在每次迭代时停止,因此您可以尝试添加try-except
:
import pdb
my_list = ['list_obj_1', 'list_obj_2', 'list_obj_3']
for element in my_list:
try:
some_function()
except:
pdb.set_trace()
现在,当抛出错误时,您将中断,您可以看到哪个element
. 这样,您将知道是哪个元素导致了问题,而无需在每次迭代时停止。
链接到文档pdb
:
推荐阅读
- python - Unpack *args for use in a for loop
- c++ - R-->cpp 如何让 C++ 指针与 sourceCpp 一起工作(贝尔曼福特算法)
- regex - 如何更新具有特定字符串模式/序列的列
- reactjs - 如何从 console.log 访问此响应?
- python-3.x - 从文本文件/Python中读取N个随机行
- jhipster - jhipster 从 java 实体更新 .jhipster/entities.json
- r - 删除一个特定列的缺失值?
- svg - 围绕中心的SVG旋转是移动对象
- ruby-on-rails - Rails 会话存储与 ActiveRecord 对象中的缓存
- excel - 在 Excel 中如何复制列标题