python中pdb常用命令

1.介绍

python中有个pdb模块,使python代码也可以像gdb那样进行调试,一般情况下pdb模块可以在代码内直接使用,也可以通过命令行参数的形式添加该模块进行调试(python -m pdb file.py)。在代码中直接使用pdb模块调试时,import pdb模块后,然后在需要调试的代码出添加pdb.set_trace()命令即可,运行程序后,在运行到次代码处会自动停止,进入调试模式。

2.命令

名称

作用

q

退出debug

h

打印可用的调试命令

b

设置断点,b 5 在第五行设置断点

h command

打印command的命令含义

......

python中的str()和repr()

尽管str(),repr()和运算在特性和功能方面都非常相似,事实上repr()和做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象。

但str()则有所不同,str()致力于生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval()求值,但很适合用于print语句输出。需要再次提醒的是,并不是所有repr()返回的字符串都能够用 eval()内建函数得到原来的对象。 也就是说 repr() 输出对 Python比较友好,而str()的输出对用户比较友好。

虽然如此,很多......

python中的main

if __name__ == '__main__':

statements

模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__"

通过以上叙述内容可知,该段代码主要作用是在作为独立程序运行时,执行一些操作。

自己动手开发一个Web服务器(三)

在第二部分中,你开发了一个能够处理HTTPGET请求的简易WSGI服务器。在上一篇的最后,我问了你一个问题:“怎样让服务器一次处理多个请求?”读完本文,你就能够完美地回答这个问题。接下来,请你做好准备,因为本文的内容非常多,节奏也很快。文中的所有代码都可以在Github仓库下载。

首先,我们简单回忆一下简易网络服务器是如何实现的,服务器要处理客户端的请求需要哪些条件。你在前面两部分文章中开发的服务器,是一个迭代式服务器(iterative server),还只能一次处理一个客户端请求。只有在处理完当前客户端请求之后,它才能接收新的客户端连接。这样,有些客户端就必须要等待自己的请求被处理......

自己动手开发一个Web服务器(二)

在《自己动手开发一个 Web 服务器(一)》中,我给大家留了一个问题:如何在不对服务器代码作任何修改的情况下,通过该服务器运行Djando应用、Flask应用和Pyramid应用,同时满足这些不同网络框架的要求?读完这篇文章,你就可以回答这个问题了。

以前,你选择的Python网络框架将会限制所能够使用的 Web 服务器,反之亦然。如果框架和服务器在设计时就是可以相互匹配的,那你就不会面临这个问题: