用PDB库调试Python代码

Python提供了一个有用的模块PDB,它是一个交互式源代码调试器。通常需要如下两行代码来使用该模块:

import pdb
pdb.set_trace()

如下代码中通过以上两行代码使用了该模块:

for video_count, video in enumerate(videos):
     sys.stdout.write('\rDownloading video: %d/%d' %(video_count, len(videos)))
     video_id = video.split('_')[1]
     link = get_aws_link(yfcc100m_hash[video_id])
     import pdb; pdb.set_trace()
     if args.download:
        try:
            response = urllib2.urlopen(link)
            urllib.urlretrieve(response.geturl(), '%s/%s.mp4' %(args.video_directory, video))
        except:
            print "Could not download link: %s\n" %link
     else:
         try:
             response = urllib2.urlopen(link)
         except:
             missing_videos.append(video)
             print "Could not find link: %s\n" %link

当程序执行到此处时,触发调试器,输出如下提示:

在这里有如下的一些选项,帮助我们进行程序调试:

 

  1. 下一行-> n:在你的调试器提示中,输入n运行代码的下一行
  2. 打印-> p:如果我们想知道变量video_id中存储的是多少,我们可以输入以下内容查看变量中存储的值。
  3. 单步-> s:单步执行程序
  4. 列表-> l:显示出目前所处的代码位置
  5. 执行到下一断点-> c:通过单击c使PDB调到末尾或者下一个断点,因为程序中我们并没有其它的断点,所以程序将会执行完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值