由于金字塔PYTHON不支持设置断点,调试非常麻烦,如果用PRINT需要写很多条,到处写,删起来都很麻烦。
因此,写了两个调试函数,调用比较方便,输出也比较直观,大家可以拷贝使用,希望金字塔越做越好,用户使用越来越便利。
只需要把需要观察的变量全部写到函数的参数中即可,包括普通变量,字典,列表,多层嵌套的字典列表都可以。
请金字塔专家点评一下。
##TXT调试信息输出
##输入参数:变量名=变量名
def write_log (**msg_list):
msg_all=" 调试信息: "+ '\n'
for key,msg in msg_list.items():
msg_all+='———“python变量'+str(key)+'的值: '+str(msg)+ ' ”'+'\n'
log_debug_info("C:\\Users\\admin\\Desktop\\调试信息.txt", msg_all )
##PRINT调试信息输出
##输入参数:变量名=变量名
def print_log (**msg_list):
msg_all="调试信息: "+ '\n'
for key,msg in msg_list.items():
msg_all+='———“python变量'+str(key)+'的值: '+str(msg)+ ' ”'+'\n'
write_logging(msg_all )
如果要观察循环中的变量,就将调试信息输出到TXT,执行完毕之后再分析
输出的循环调试信息是下面这个样子,清晰多了,使用快捷,这些是普通变量,字典、列表等一样可以输出
15:14:39 > 调试信息:
———“python变量i的值: 1 ”
———“python变量i_max的值: 1 ”
———“python变量i_min的值: 0 ”
———“python变量temp_max的值: 7.777660369873047 ”
———“python变量temp_min的值: 7.529331684112549 ”
15:14:39 > 调试信息:
———“python变量i的值: 2 ”
———“python变量i_max的值: 2 ”
———“python变量i_min的值: 0 ”
———“python变量temp_max的值: 7.996190071105957 ”
———“python变量temp_min的值: 7.529331684112549 ”