python学习第19天之目录规范和常用模块之time

一、目录规范

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")
原文地址:https://www.cnblogs.com/ye-hui/p/9794789.html