Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:提供一个方便PYTHON调试的方法

1楼
分析者 发表于:2020/9/16 10:25:13
由于金字塔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 )
2楼
分析者 发表于:2020/9/16 10:26:43
如果要观察循环中的变量,就将调试信息输出到TXT,执行完毕之后再分析
3楼
分析者 发表于:2020/9/16 15:18:57
输出的循环调试信息是下面这个样子,清晰多了,使用快捷,这些是普通变量,字典、列表等一样可以输出
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  ”
          
4楼
马良 发表于:2020/9/17 0:07:19
不错支持
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .10938 s, 2 queries.