zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    主从复制之GTID(全局事务标识符)
    mysql8之MGR
    Headless Services无头服务
    面试题 01.01. 判定字符是否唯一
    344. 反转字符串
    1299. 将每个元素替换为右侧最大元素
    1528. 重新排列字符串
    832. 翻转图像
    1748. 唯一元素的和
    1365. 有多少小于当前数字的数字
  • 原文地址:https://www.cnblogs.com/ye-hui/p/9794789.html
Copyright © 2011-2022 走看看