摘要:
Python 代码调试技巧2012-5-3简介: Debug 对于任何开发人员都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug。python 提供了一系列 debug 的工具和包,可供我们选择。本文将主要阐述如何利用 python debug 相关工具进行 debug。使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见表 1。表 1. pdb 常用命令命令 解释 br... 阅读全文
摘要:
好的博文链接: http://www.cnblogs.com/kym/archive/2011/03/07/1976519.html 阅读全文
摘要:
声明: 此博文转载自 http://www.cnblogs.com/analyzer/articles/2042827.html1 在作比较时你可以这样写: 3.14<pi<3.15,它得到的结果和(pi>3.14 and pi<3.15)是一样的,在大多数其他语言里,你都不能用这么自然的语法了。2 Int类型不会在超过31bit或32bit后溢出,它们会变成long型。在python里,long并非就是64位,他就是"长"类型,(python的长类型可以容纳数万位大的整数),效率会降低一点。在python 3000中,甚至连int与long的区别都 阅读全文
摘要:
使用实例一,计算两个日期相差天数的计算#! /usr/local/pythonimport datetimed1 = datetime.datetime(2009,10,9)d2 = datetime.datetime(2012,10,12)a = (d2 - d1).daysprint a使用实例二: 计算程序运行的时间,以秒进行显示#! /usr/local/pythonimport datetimeimport timestarttime = datetime.datetime.now()#long runningtime.sleep(5)endtime = datetime.datet 阅读全文
摘要:
能够得到struct_time的方法:>>> time.localtime() #将一个时间戳转换成一个当前时区的struct_time,如果seconds参数未输入,则以当前时间为转换标准time.struct_time(tm_year=2012, tm_mon=10, tm_mday=12, tm_hour=14, tm_min=25, tm_sec=55, tm_wday=4, tm_yday=286, tm_isdst=0)>>> >>> time.gmtime() #将一个时间戳转换成一个UTC时区(0时区)的struct_tim 阅读全文
摘要:
#设a为字符串import timea = "2011-09-28 10:00:00"#中间过程,一般都需要将字符串转化为时间数组time.strptime(a,'%Y-%m-%d %H:%M:%S')>>time.struct_time(tm_year=2011, tm_mon=9, tm_mday=27, tm_hour=10, tm_min=50, tm_sec=0, tm_wday=1, tm_yday=270, tm_isdst=-1)#将"2011-09-28 10:00:00"转化为时间戳time.mktime( 阅读全文
摘要:
一般情况下,一些程序的调试过程中我们会让它输出一些信息,特别是一些大型的程序,我们通过这些信息可以了解程序的运行情况,python提供了一个日志模块logging,它可以把我们想要的信息全部保存到一个日志文件中,方面我们查看。最近做的项目,有一些业务处理逻辑是先将数据写入队列,然后通过python读取队列中的内容,继续处理后续的逻辑。因为队列消费一次就没了,所以做好日志记录格外重要;test_log1.py#! /usr/bin/pythonimport loggingLOG_FILENAME="log_test.txt"logging.basicConfig(filena 阅读全文
摘要:
模板字符串:string模板提供另外一种格式化值的方法:模板字符串。它的工作方式类似于很多Unix Shell里的变量替换。>>> from string import Template>>> s = Template('$X. glorious $X!') >>> s.substitute(X='slurm') 'slurm. glorious slurm!'如果替换字段是单词的一部分,那么参数名就必须用括号括起来,从而精确指明结尾:>>> s = Template(&qu 阅读全文
摘要:
1、基础字符串操作所有标准的序列操作(索引,[:],*,in,not in ,len,min,max,sorted,reversed,zip,sum,enumerate)对于字符串同样适用。但是字符串都是不可变的。因此,类似以下分片赋值是不合法的:>>> website="www.letv.com">>> print website[3].>>> website[3]='b'Traceback (most recent call last): File "<stdin>", 阅读全文