Python终端调试的一些方法
date
Jan 13, 2022
slug
Python-develop-debug
status
Published
tags
开发测试
summary
Python终端调试的一些方法
type
Post
时间测试
适用于多轮循环测试,这个模块
python -m timeit 'x=[1,2,3,4,5,6]'
数组跑了10000000次
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fc113620e-b4a6-4a92-bee1-d70b242f1a2f%2Fbbb052c5-d9b5-48e8-841e-67f718f4a368%2FUntitled.png%3Fid%3Dcf256699-e1b6-4854-bd8a-540b40908498%26table%3Dblock%26spaceId%3Dc113620e-b4a6-4a92-bee1-d70b242f1a2f%26expirationTimestamp%3D1722067200000%26signature%3DO0pYi7QCqHxQYHtCdJVNoxtj--O6pmfKdBWn4np9bIU?table=block&id=cf256699-e1b6-4854-bd8a-540b40908498&cache=v2)
Debug测试
需要先安装ipdb,在代码里面插入下面这段代码,然后终端执行
import ipdb;ipdb.set_trace() # XXX BREAKPOTINT
可以使用
l
命令打印当前环境上下文代码:![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fc113620e-b4a6-4a92-bee1-d70b242f1a2f%2Fb695afe8-c317-461a-b807-8139354a91a5%2FUntitled.png%3Fid%3D4b0204fb-8ffd-4aeb-ade8-eab4e6f7802f%26table%3Dblock%26spaceId%3Dc113620e-b4a6-4a92-bee1-d70b242f1a2f%26expirationTimestamp%3D1722067200000%26signature%3D3rfCMLYBG6uNix6-JbiVKXpUbQIW82rmYdX5Q2Gxoko?table=block&id=4b0204fb-8ffd-4aeb-ade8-eab4e6f7802f&cache=v2)
命令
n
执行下一步![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fc113620e-b4a6-4a92-bee1-d70b242f1a2f%2F2ad0a66d-a7f5-4772-add4-85e14f4368fd%2FUntitled.png%3Fid%3Da19b0280-b41d-48a2-a3c1-398e17caedbe%26table%3Dblock%26spaceId%3Dc113620e-b4a6-4a92-bee1-d70b242f1a2f%26expirationTimestamp%3D1722067200000%26signature%3D4ucD0pd9YpAm1KXg8rOHiNR7y3dQ38zDr6u9iV4y47A?table=block&id=a19b0280-b41d-48a2-a3c1-398e17caedbe&cache=v2)
输出变量内容,直接打印对应的变量就行
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fc113620e-b4a6-4a92-bee1-d70b242f1a2f%2F8df625a8-a37a-4d26-8020-cc32cae22532%2FUntitled.png%3Fid%3D3a381cf7-c178-4fa5-a090-d93318f5a931%26table%3Dblock%26spaceId%3Dc113620e-b4a6-4a92-bee1-d70b242f1a2f%26expirationTimestamp%3D1722067200000%26signature%3Dsd6H_8FNXqSnaDS8xKMYFrNXSypAVbUle2HV3cyMHYs?table=block&id=3a381cf7-c178-4fa5-a090-d93318f5a931&cache=v2)
这个终端还能执行命令,前提是当前内容已经import进来了
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fc113620e-b4a6-4a92-bee1-d70b242f1a2f%2Fe3d6e4f4-cef2-41cc-888c-6a67c782e832%2FUntitled.png%3Fid%3Dbe26e978-2664-4544-80c4-0ab51a782efd%26table%3Dblock%26spaceId%3Dc113620e-b4a6-4a92-bee1-d70b242f1a2f%26expirationTimestamp%3D1722067200000%26signature%3DuOKuoJ53E_Hms77NJZ2UyXYd31Fi1kSqmd50Qy2DmB8?table=block&id=be26e978-2664-4544-80c4-0ab51a782efd&cache=v2)