最近实习用到crontab,之前还一直不知道,以为定时执行都要靠程序内部计时呢,原来强大的linux还自带了这么个实用的工具,真是孤陋寡闻啊。通常使用crontab来完成一些需要定时启动的任务。通常命令就使用两个参数,crontab -e编辑或添加任务,crontab -l查看现有任务。如果crontab执行失败还会自动发邮件提醒用户,邮件可以使用mail命令查看最近在使用crontab的过程中碰到过几个问题,这里总结一下1. 如果将crontab任务开始执行的时间设置得离当前时间太近的话,很有可能触发不了。网上搜索了下,据说是crontab是定时每个一定时间去读取配置的,如果太近可能会正好错 Read More
posted @ 2013-08-15 20:13 Excelight Views(313) Comments(0) Diggs(0)
今天看Coursera的Crafting Quality Code课程,介绍了一种使用python 的doc string作为测试的功能。使用方法如下:1 def func(a):2 """3 >>> func("abc")4 35 >>> func("defg")6 47 """8 return len(a)之后,测试方法如下:1 >>>import doctest()2 >>>doctest.testmod()3 Tes Read More
posted @ 2013-04-01 16:14 Excelight Views(243) Comments(0) Diggs(0)
和上一篇一样也是在web.py的源码中产生的一点疑问。源码中一个函数末尾有这样一句话:return p and p[0]想也没想觉得返回值肯定是True或者False,可是发现返回值是p[0]。。。后来找到了关于非布尔值进行逻辑运算的规律,这里就暂且抄过来了:在Python中,空字符串为假,非空字符串为真。非零的数为真。数字和字符串之间、字符串之间的逻辑操作规律是:对于and操作符:只要左边的表达式为真,整个表达式返回的值是右边表达式的值,否则,返回左边表达式的值对于or操作符:只要两边的表达式为真,整个表达式的结果是左边表达式的值。如果是一真一假,返回真值表达式的值如果两个都是假,比如空值和 Read More
posted @ 2013-01-14 19:22 Excelight Views(1244) Comments(0) Diggs(0)
昨天各大IT网站头版都是XXX黑客自杀的消息,虽然我不认识,但是后来发现这个人是reddit的联合创始人,而且还开发了web.py框架,web.py虽然没用过,但是大名还是听过的,所以今天就去看了下web.py的源码。。。主要关注了template那一块,发现web.py的template的一种使用方式是这样的:render = web.template.render('templates')print render.foo()其中templates是放模板的文件夹,而foo是文件夹中的一个文件名,如foo.html。就是这里太神奇了!其他语言中从来没见,python是怎么办到 Read More
posted @ 2013-01-14 17:05 Excelight Views(1326) Comments(0) Diggs(0)
今天看了看Erlang编程指南,发现其中的递归还是挺有特色的,递归式函数式编程语言的一大特色了。递归比如一个求平均数的例子:1 average(List) -> sum(List) / len(List).2 3 sum([]) -> 0;4 sum([Head | Tail]) -> Head + sum(Tail). 5 len([]) -> 0;6 len([_ | Tail) -> 1 + len(Tail).先看sum函数,sum([])->0. 如果列表是空的,那么元素总和是零sum([Head | Tail]) -> Head + sum Read More
posted @ 2013-01-07 16:21 Excelight Views(601) Comments(0) Diggs(0)
1. Question: x=[...], 求x所有元素的平方和 Answer: (普通版)1 def fun(x):2 total = 03 for e in x:4 total = total + e**25 return total Answer:(Pythonic)1 def fun(x):2 return sum([e**2 for e in x]) Read More
posted @ 2013-01-05 21:55 Excelight Views(123) Comments(0) Diggs(0)