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
当程序执行到此处时,触发调试器,输出如下提示:
在这里有如下的一些选项,帮助我们进行程序调试:
- 下一行-> n:在你的调试器提示中,输入n运行代码的下一行
- 打印-> p:如果我们想知道变量video_id中存储的是多少,我们可以输入以下内容查看变量中存储的值。
- 单步-> s:单步执行程序
- 列表-> l:显示出目前所处的代码位置
- 执行到下一断点-> c:通过单击c使PDB调到末尾或者下一个断点,因为程序中我们并没有其它的断点,所以程序将会执行完成。