几段Python小程序
程序片段1
第一个需求是需要生成一些随机的时间,例如需要随机生成从一年前到现在的一些时间,刚开始折腾了半天,最后的代码如下:
from datetime import timedelta
from datetime import date
import random
(datetime.datetime.now()-datetime.timedelta(seconds=random.randrange((datetime.timedelta(days=365)).total_seconds()))).strftime("%Y-%m-%d %H:%M:%S")
程序片段2
原来写python程序设计到输出或转字符串的时候都是直接用%,但这次稍微花了一些时间,学习了一下format,现在是<PEP的推荐方式>[https://www.python.org/dev/peps/pep-3101/]了。看来以后要转变写程序的方式了。具体的语法其实和C的printf也很类似,最简单的一个例子如下,这个函数可以从start-end之间选取一个随机数,然后输出为strlen长度的字符串,长度不足前面补0:
def gen_range_data(start,end,strlen):
return '{num:0{width}}'.format(num=random.randrange(start,end),width=strlen)
程序片段3
Python的string里自带了好多预定义变量,非常好用,比如说所有的大写字母,所有的小写字母,数字等等,有了这些就可以更快更方便的写出很多功能,例如随机选择一个大写字母可以用下面这行程序来写:
return random.choice(string.ascii_uppercase)