pdb,让python文件在linux中跑起来

liftword5个月前 (01-21)技术文章41

近期在项目自动化脚本编写中,经常会在本地pycharm中写好脚本,然后上传到linux中运行。由于局限于网络的一些原因,本地pycharm无法调试这些py文件,只有linux上才有py运行所需要的模块,所以遇到了一个比较头疼的问题,那就是上传到linux的脚本,如何degug,一时间成了一个问题。直到了解了pdb模块,顿时柳暗花明又一村。

pdb是什么?它是如何使用的呢?

pdb是一种linux中调试python脚本的工具,类似于windows下在pycharm中使用debug一样的效果。由于是命令行模式的linux系统,所以调试文件使用pdb就再方便不过了。

pdb有两种模式,第一种是直接在python文件中"import pdb;pdb.set_trace()",直接直接运行python脚本就可以了。另一种是用python -m pdb py文件的方式单步调试。

下面我们首先介绍一下pdb的参数含义。

p:print,打印内容,可以加需要打印的参数,pp是好看一点的打印,需要注意一点打印的变量需要执行之后才可以打印出来,也就是在变量执行的语句下一行才可以使用p

s:step,执行下一条命令,如果是函数则进入函数中,执行函数的第一句

n:next,执行下一条语句,如果当前语句是函数,则执行函数,然后执行当前函数语句的下一条

r:return,退出当前正在执行的函数

c:continue,继续执行语句,直到遇到下一个断点停止

l:list,展示当前正在执行的语句附近的代码

run:重新启动调试

q:quit,退出调试

b:break,指定代码中哪一行添加断点

cl:clear,清楚断点

接着我们用第一种调试方式做个示例。

下面就看到报错的位置了

下面是第二种调试方式

这是演示了以下打印变量的过程

在实际的运用中,如果能大概知道函数出问题的地方的时候,可以在py文件中需要调试位置加上“import pdb;pdb.set_trace()”。如果一时没有头绪,那就可以直接python -m pdb py文件,一步一步分析代码了。

相关文章

运维必备!用Python管理多个Linux服务器的连接与命令执行

引言:代码实现多个Linux服务器的SSH连接,支持添加、删除连接,执行命令,并返回标准输出。可以在需要时批量处理多个服务器,避免了手动逐个登录和执行命令的繁琐过程。代码封装如下:# -*- codi...

加速 Python 程序的 10 个技巧(python加快运算速度)

有很多方法可以提高 Python 应用程序的性能。以下是加快 Python 速度的 10 个硬核编码技巧。总的来说,人们使用 Python 是因为它方便且对程序员友好,而不是因为它快速。大量的第三方库...

Linux系统升级Python版本的编程实践

摘要:Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库, 广泛应用于系统管理任务的处理和Web编程。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。其特点...

一段获取Linux系统信息的python脚本

简介这个脚本通过获取/etc/os-release文件中的系统版本信息,通过Linux系统中的/proc目录中的cpuinfo和meminfo文件获取cpu和内存的信息,在使用系统内置的os和plat...

可以在Linux上运行Windows软件吗(linux能运行win软件吗?)

Linux与Windows是什么首先需要回答Linux与Windows是什么?它们都属于操作系统的范畴,是一种软件,一种特殊的软件,而不是硬件(看的见摸的着),而且从某种意义上来说操作系统是计算机或者...

玩转Termux:教你在手机上安装运行Python!

大家好,这里是 「@手机编程」,我是作者:舞剑,记得「关注我」前面讲解了 Termux 的下载方式以及基础设置,大家对于这款神器APP了解的不少,接下来就是喜闻乐见的开发环境安装环节,php、Pyth...