Python开发技巧——调试程序

调试程序

如果想要调试一个已经发布的python项目源码,修改了部分源码,想要看看效果,有以下两种方法可以简单查看。

异常处理或tabulate

  • 使用 raise 主动抛出异常,并设置异常信息或获取变量值。
  • tabulate会打出变量中所有输出,如果一个变量中存储的数据过大,那么使用tabulate调试数据可能会占用大量计算资源,使程序运行效率降低。我们可以使用head(int)方法只打印前n行数据。

1. 使用raise Exception()

找到需要调试的代码,修改源码完成后,在其下方加入

raise Exception(变量名)

例子:

修改了关于变量A值的源码,想看一下变量A目前的值是什么,如下操作

A = xxxxx
raise Exception(A)

再次运行项目时,项目会停滞在raise Exception(A),并给出A的值。

2. 使用tabulate模块

需要先在python环境中安装tabulate模块,然后在源码中导入它

找到需要调试的代码,修改源码完成后,在其下方加入

import tabulate
print(tabulate.tabulate(A, tablefmt='psql', headers='keys'))

例子:

修改了关于变量A值的源码,想看一下变量A目前的值是什么,如下操作

A = xxxxx
import tabulate
print(tabulate.tabulate(A, tablefmt='psql', headers='keys'))

再次运行项目时,项目会正常运行完成,并在结尾给出A的值。

3. 示例

3.1 raise Exception()

调试的代码

def xxxxxxx():
    event_df['Date Time'] = pd.to_datetime(self.event_df['Date Time'])
    event_df = event_df.sort_values(['Date Time'])
    raise Exception(self.event_df)

运行项目

在这里插入图片描述

3.2 使用tabulate模块

调试的代码

def xxxxxxx():
    event_df['Date Time'] = pd.to_datetime(self.event_df['Date Time'])
    event_df = event_df.sort_values(['Date Time'])
    import tabulate
    print(tabulate.tabulate(event_df[['Description"','Date Time']].head(10), tablefmt='psql', headers='keys'))

运行项目

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/NOWSHUT/article/details/131730553