一、目录规范
1原因:之前我们写的程序都是'面条版‘,越写越长,修改和找东西很不方便’
2、正常的项目需要哪些文件目录
bin 可执行文件
conf 配置文件
core 主要业务逻辑
db 数据文件
lib 库 (公共代码 第三方模块)
log 日志文件
readme 说明文档(是一个文件)
再以上文件夹中 没有需要作为包的 你的包通常放到lib中 但是注意lib不应该作为包
疑惑?
# 这个文件夹到底应该是包还是文件夹 其实问题就是需不需要用到init
# init的作用就是导入包内模块中的全部功能
# 通过判断是不是需要这个功能来判断是包还是文件夹
项目的第一层没什么需要放包的,所以标准第一层是文件夹不是包
执行文件放在bin目录中
引用包的时候,在执行文件添加环境变量
import sys import os a=os.path.dirname(__file__) print(os.path.dirname(a))
sys.path是当前环境变量,是个列表
__file__指的是当前文件路径
os.path.dirname(__file__)当前文件上层文件路径
a=os.path.dirname(os.path.dirname(__file__))再将结果的路径在取一次,得到当前文件的上上层文件路径
添加我们需要的环境变量sys.path.append(a)
二、内置模块time
1、time的分类
时间的三类
(1).时间戳 从1970-1-1 0:0:0开始到现在的秒数
print(time.time())
1539606985.618916
t = time.time()
time.sleep(10) 程序停止一段时间
t2 = time.time()
print(t2-t) 计时功能
(2).结构化时间
print(time.localtime()) # 返回的是一个对象 其中包含一个元组 里面是每个时间的值 (东八区)
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=15, tm_hour=20, tm_min=34, tm_sec=57,
tm_wday=0, tm_yday=288, tm_isdst=0) Process finished with exit code 0
print(time.localtime().tm_year) #单独获取某个时间属性
print(time.gmtime()) # 世界统一时间 比北京时间晚了八小时
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=15, tm_hour=12, tm_min=57, tm_sec=27
, tm_wday=0, tm_yday=288, tm_isdst=0)
(3)格式化的字符串时间
print(time.strftime("%Y-%m-%d %H:%M:%S %p"))
print(time.strftime("%Y-%m-%d %X %p"))
2.time的三种格式之间的转化(就是把一种格式当做参数传进另一个格式)
#时间戳转为结构化
print(time.localtime(time.time()))
# 结构化转字符串
print(time.strftime("%Y-%m-%d",time.localtime(time.time())))
# 字符串转为结构化
print(time.strptime("2018-10-15","%Y-%m-%d"))
# 结构化转时间戳
print(time.mktime(time.strptime("2018-10-15","%Y-%m-%d")))
# 了解 格林威治时间
print(time.asctime(time.localtime(60*60*24)))
print(time.ctime(60*60*24))
3、import datetime
# 这个是一个包 里面包含 对时间的处理 对日期的处理
datetime.date # 日期相关
datetime.time # 时间相关
# 获取当前详细时间
print(datetime.datetime.now())
# 获取时间的某一部分
print(datetime.datetime.now().hour)
# 替换时间的某一部分
t1 = datetime.datetime.now()
t1 = t1.replace(year=2019)
print(t1)
t2 = datetime.datetime.now()
# print(t1 + t2)
#file:"start.py" def login(): #加载文件 with open("/Users/jerry/PycharmProjects/ᶱፓᕮ/db/db.txt") as f: print(f.read()) def register(): print("注册") def run(): while True: print( """请选择 1.登录 2.注册 """) s = input("请选择:") if s == "1": login() elif:s == "2": register() else: print("error")