摘要:
Python 代码调试技巧2012-5-3简介: Debug 对于任何开发人员都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug。python 提供了一系列 debug 的工具和包,可供我们选择。本文将主要阐述如何利用 python debug 相关工具进行 debug。使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见表 1。表 1. pdb 常用命令命令 解释 br...
阅读全文
posted @ 2012-10-12 17:32
mingaixin
阅读(9677)
推荐(0)
编辑
摘要:
使用实例一,计算两个日期相差天数的计算#! /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
阅读全文
posted @ 2012-10-12 15:10
mingaixin
阅读(276)
推荐(0)
编辑
摘要:
能够得到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
阅读全文
posted @ 2012-10-12 14:54
mingaixin
阅读(281)
推荐(0)
编辑
摘要:
#设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(
阅读全文
posted @ 2012-10-12 14:00
mingaixin
阅读(1260)
推荐(0)
编辑
摘要:
一般情况下,一些程序的调试过程中我们会让它输出一些信息,特别是一些大型的程序,我们通过这些信息可以了解程序的运行情况,python提供了一个日志模块logging,它可以把我们想要的信息全部保存到一个日志文件中,方面我们查看。最近做的项目,有一些业务处理逻辑是先将数据写入队列,然后通过python读取队列中的内容,继续处理后续的逻辑。因为队列消费一次就没了,所以做好日志记录格外重要;test_log1.py#! /usr/bin/pythonimport loggingLOG_FILENAME="log_test.txt"logging.basicConfig(filena
阅读全文
posted @ 2012-10-12 11:53
mingaixin
阅读(9106)
推荐(0)
编辑
摘要:
模板字符串:string模板提供另外一种格式化值的方法:模板字符串。它的工作方式类似于很多Unix Shell里的变量替换。>>> from string import Template>>> s = Template('$X. glorious $X!') >>> s.substitute(X='slurm') 'slurm. glorious slurm!'如果替换字段是单词的一部分,那么参数名就必须用括号括起来,从而精确指明结尾:>>> s = Template(&qu
阅读全文
posted @ 2012-10-12 10:41
mingaixin
阅读(365)
推荐(0)
编辑
摘要:
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>",
阅读全文
posted @ 2012-10-12 10:36
mingaixin
阅读(22824)
推荐(0)
编辑