- 规范化开发.
一个py文件中, - 文件加载问题.
- 代码可读性差,查询,麻烦.
要将一个py文件分开,合理的分成多个py文件.
配置文件:
settings.py:配置文件(存放一些静态变量,轻易不改变的变量,引用)
src.py:主逻辑函数,存放核心逻辑功能
common.py:公共组件部分,装饰器,log日志(),(辅助功能的函数)
starts.py(程序启动的开关):为什么单独设置开关?放在明显的位置,便于开启程序,项目启动文件
register(数据库文件):注册表,用户信息,访问记录等
log:日志文件
bin:放入starts.py文件
conf:放入settings.py文件
core:放入src.py文件
db:放入register.py文件
lib:放入common.py文件
log:放入access.log文件
time模块
与时间相关的模块:
三种形式:时间戳: time.time() 时差,计时......
人类看得懂的时间,格式化时间. 2019-6-28 12:00
time.strftime("%Y-%m-%d %X") '2017-07-24 13:54:37' time.strftime("%Y-%m-%d %H-%M-%S") '2017-07-24 13-55-04'
结构化时间: python语言使用的,解释器使用的.
时间的转化
# 格式化时间 ----> 结构化时间 ft = time.strftime('%Y/%m/%d %H:%M:%S') st = time.strptime(ft,'%Y/%m/%d %H:%M:%S') print(st) # 结构化时间 ---> 时间戳 t = time.mktime(st) print(t) # 时间戳 ----> 结构化时间 t = time.time() st = time.localtime(t) print(st) # 结构化时间 ---> 格式化时间 ft = time.strftime('%Y/%m/%d %H:%M:%S',st) print(ft)
datetime模块
# datatime模块 import datetime now_time = datetime.datetime.now() # 现在的时间 # 只能调整的字段:weeks days hours minutes seconds print(datetime.datetime.now() + datetime.timedelta(weeks=3)) # 三周后 print(datetime.datetime.now() + datetime.timedelta(weeks=-3)) # 三周前 current_time = datetime.datetime.now() # 可直接调整到指定的 年 月 日 时 分 秒 等 print(current_time.replace(year=1977)) # 直接调整到1977年 print(current_time.replace(year=1989,month=4,day=25)) # 1989-04-25 18:49:05.898601 # 将时间戳转化成时间 print(datetime.date.fromtimestamp(1232132131)) # 2009-01-17
random模块
>>> import random #随机小数 >>> random.random() # 大于0且小于1之间的小数 0.7664338663654585 >>> random.uniform(1,3) #大于1小于3的小数 1.6270147180533838 #恒富:发红包 #随机整数 >>> random.randint(1,5) # 大于等于1且小于等于5之间的整数 >>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数 #随机选择一个返回 >>> random.choice([1,'23',[4,5]]) # #1或者23或者[4,5] #随机选择多个返回,返回的个数为函数的第二个参数 >>> random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合 [[4, 5], '23'] #打乱列表顺序 >>> item=[1,3,5,7,9] >>> random.shuffle(item) # 打乱次序 >>> item [5, 1, 3, 7, 9] >>> random.shuffle(item) >>> item [5, 9, 7, 1, 3]
计算时间差
import time true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d %H:%M:%S')) time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d %H:%M:%S')) dif_time=time_now-true_time struct_time=time.gmtime(dif_time) print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1, struct_time.tm_mday-1,struct_time.tm_hour, struct_time.tm_min,struct_time.tm_sec)) 计算时间差
生成随机验证码
import random def v_code(): code = '' for i in range(5): num=random.randint(0,9) alf=chr(random.randint(65,90)) add=random.choice([num,alf]) code="".join([code,str(add)]) return code print(v_code())