以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  提供一个方便PYTHON调试的方法  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=182199)

--  作者:分析者
--  发布时间:2020/9/16 10:25:13
--  提供一个方便PYTHON调试的方法
由于金字塔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 )

--  作者:分析者
--  发布时间:2020/9/16 10:26:43
--  
如果要观察循环中的变量,就将调试信息输出到TXT,执行完毕之后再分析
--  作者:分析者
--  发布时间: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  ”
          
--  作者:马良
--  发布时间:2020/9/17 0:07:19
--  
不错支持