规范化开发
配置文件:
bin(程序的执行文件) ---> starts.py
import sys import os BASE_PATH = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BASE_PATH) from core import src if __name__ == '__main__': src.run()
conf(配置文件) ---> settings.py
一般轻易 不改变 一般存放 静态变量
core(主逻辑文件) ---> src.py
登录 注册 等等
db(数据文件) ---> register
注册表 用户数据
lib(库文件,公共组件 辅助功能文件) ---> common
装饰器 加密 loog日志函数
log(日志文件) ---> log20196281059.log
系统日志 生活日志
README(说明文档)
import sys import os BASE_PATH = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BASE_PATH) from core import src if __name__ == '__main__': src.run()
要 那个 函数 变量 导 那个 from 文件夹 import py文件 py文件.变量 函数名 的方式 导入此函数 变量
time模块
与时间相关的模块
三种形式:
- 时间戳:time.time()时差,计时
- 人类看得懂的时间,格式化时间.2019-6-28 12:00
- 结构化时间:python语言使用的,解释器使用的
import time print(time.time()) # 1561707352.6777651 # 格式化时间: # 字符串类型 print(time.strftime("%Y-%m-%d %H:%M:%s")) # 2019-06-28 15:36:32 print(time.strftime("%y-%m-%d %H:%M:%s %A")) # 19-06-28 15:36:32 Friday ret = time.strftime("%Y{}%m{}%d{} %H:%M:%s") print(ret) # 2019{}06{}28{} 15:36:32 print(ret.format('年','月','日')) # 2019年06月28日 15:36:32 print(time.localtime()) # time.struct_time(tm_year=2019,tm_mon=6,tm_mday=28,tm_hour=15,tm_min=36,tm_sec=32,tm_wday=4,tm_yday=179,tm_isdst=0) e(st) # 转成时间戳 print(timestamp)
时间的转换列题
# 时间戳转化成格式化时间 import time st = time.localtime(8340768 可以直接输时间戳) # 转成结构化时间 print(st)#命名元祖 ft = time.strftime("%Y-%m-%d %H:%M:%s") # 转成格式化时间 print(ft) # 格式化时间转化成时间戳 import time date = input("请输入X年X月X日:").strip() #2019-5-9 st = time.strptime(date,"%Y-%m-%d") # 转成结构化时间 命名元祖 timestamp = time.mktime(st) # 转成时间戳 print(timestamp) 列题 import time date = input("请输入X年X月X日:").strip() #2019-5-9 st = time.strptime(date,"%Y-%m-%d") # 转成结构化时间 命名元祖 print(st.tm_yday)#多少天
datetime模块 跳转时间
import datetime # from datetime import datetime time_Now = datetime.datetime.Now() print(str(time_Now),type(time_Now)) # 2019-06-28 15:46:50.525403 <class 'datetime.datetime'> print(datetime.datetime.Now() + datetime.timedelta(weeks=3)) # 2019-07-19 15:47:11.392616 print(datetime.datetime.Now() + datetime.timedelta(weeks=-4)) # 2019-05-31 15:47:11.400563 print(datetime.datetime.Now() + datetime.timedelta(days=-15)) # 2019-06-13 15:47:11.400563 current_time = datetime.datetime.Now() print(current_time.replace(year=1979)) # 1979-06-28 15:48:20.118009 print(current_time.replace(year=1989,month=4,day=25)) # 1989-04-25 15:48:20.118009 print(datetime.date.fromtimestamp(1332543543)) # 2012-03-24
random模块 随机
import random print(random.random()) # 大于0且小于1之间的小数 0.2863669594762567 print(random.uniform(1,6)) # *** 大于1且小于6之间的小数 1.0740112194845455 print(random.randint(1,5)) # 1 5 可以取到 *** print(random.randrange(1,10,2)) # 顾头不顾尾 *** print(random.choice(['如花','凤姐','石榴姐',1])) # *** print(random.sample(('如花','石榴姐'),3)) # 可以控制元素个数 *** # 打乱顺序 item = [i for i in range(10)] random.shuffle(item) print(item)
- collections模块