• os


    在python中,通常有这几种方式来表示时间:

    一:time

    1、时间戳:从1970年到现在经过的秒数

      作用:用于时间间隔的计算

    2、按照某种格式显示的格式化时间

      作用:用于展示时间

    3、结构化的时间

      作用:用于单独获取时间的某一部分

     import time 

      print(time.time())    时间戳

        print(time.strftime("%Y-%m-%d %X)) 格式化的时间字符串

        print(time.local time()) 本地时区的时间

        print(time.gmtime())  世界时间

       计算机认识的时间只能是“时间戳格式”,所以要转换一下

       struct_time --> 时间戳

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import time
     
    #struct_time -->时间戳
    s_time = time.localtime()
    print(time.mktime(s_time))
     
    #时间戳 -->struct_time
    tp_time = time.time()
    print(time.localtime(tp_time))

      

    1
    2
    3
    4
    5
    6
    7
    import time
     
    # format string ---> struct_time ---> timestamp
     
    struct_time = time.strptime("1988_03_03 11:11:11","%Y-%m-%d %H:%M:%S")
    timestamp = time.mktime(struct_time)+7*86400
    print(timestamp)

      

    1
    2
    3
    timestamp ----> struct_time -----format string
    res = time.strftime("%Y-%m-%d %X",time.localtime(timestamp))
    print(res)

      

    1
    2
    3
    4
    5
    #世间标准时间与本地时间
    print(time.localtime())
    print(time.gmtime())
    print(time.localtime(333))
    print(time.gmtime(333))

      

    二、datetime

    1
    2
    3
    4
    5
    6
    7
    8
    import datetime
    print(datetime.datetime.now())
    print(datetime.datetime.now()+datetime.timedelta(days=-3))
    #print(datetime.datetime.now()+datetime.timedelta(day=3))
    print(datetime.datetime.now()+datetime.timedelta(week=1))
     
    #当前时间加三天,或者减三天
    #一周后的时间

      random模块

     import random

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    print(random.random())#大于0且小于1之间的小数
    print(random.randint(1,3)) 大于等于1且小于等于3之间的整数
    print(random.randrange(1,3)) 大于等于1且小于3之间的整数
    print(random.choice([111,"aaa"[4,5]])) 1或者23或者【45
    print(random.sample([111,"aaa","ccc,"ddd],2)) 列表元素任意2个组合
    print(random.uniform(1,3)) 大于1小于3的小数
     
    item = [1,3,5,7,9]
    random.shuffle(item)
    print(item)

     应用:随机验证码

       import random

      res = " "

      for i in range(6):

      从26个大写字母中随机取出一个 = chr(random.randint(65,90))

      从10个数字中随机取出一个 = str(random.randint(0,9))

      随机字符= random.choice([从26个大写字母中随机取出一个,从10个数字中随机取出一个])

      res += 随机字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import random
    def make_code(size-4):
        res=" “
        for in range(size):
            s1 = chr(random.randint(65,90))
            s2 = str(random.randint(0,9))
            res += random.choice([s1,s2])
        return res
     
    print(make code(6))

      

    os模块

    import os

    #获取某一个文件夹下所有的子文件以及子文件夹的名字

    res = os.listdir(".")

    print(res)

    size=os.path.getsize(r"路径信息")

    print(size)

    import sys

    sys.argv 获取解释后参数值

    print(sys.argv)

    src_file=input("源文件路径:").strip()

    dst_file=input("目标文件路径:").strip()

    src_file=sys.argv[1]

    dst_file=sys.argv[2]

    1
    2
    3
    4
    5
    6
    7
    8
    9
    with open(r"%s"%src_file,"rb") as read_f,
        open(r"%s"%dst_file,"wb") as write_f:
        for line in read_f:
            write_f.write(line)
    python3.8 run.py src_file dst_file
     
    print("[%-50s]" %"#")
    print("[%-50s]" %"##")
    print("[%-50s]" %"###")

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import time
     
    def progress(percent):
        if percent > 1:
            percent = 1
        res = int(50 * percent) * "#"
        print(" [%-50s] %d%%" %(res,int(100 * percent)),end=" ")
     
    rev_size=0
    total_size=1025011
     
    while recv_size < total_size:
        time.sleep(0.01#下载了1024个字节的数据
        recv_size+=1024
     
        percent = recv_size / total_size
        progress(percent)
  • 相关阅读:
    关于 未能加载文件或程序集“ImageMagickNet”或它的某一个依赖项。试图加载格式不正确的程序 的解决办法
    Nhibernate中 ManyToOne 中lazy="proxy" 延迟不起作用的原因
    关于mysqlconnectornet6.3.4 MySqlDataAdapter 在空数据的情况下填充DataSet后tables[0] 找不到的问题
    JavaScript:constructor属性
    关于AspNetPager 采用URL分页时 执行两次绑定的解决办法
    WPF学习笔记(一)
    unity3d 屏幕坐标、鼠标位置、视口坐标和绘制GUI时使用的坐标
    FileUpLoad用法(二)上传文件到服务器的数据库
    ASP.Net 使用GridView模板删除一行的用法
    ASP.Net FileUpLoad 控件的用法(一)——上传到服务器文件夹下
  • 原文地址:https://www.cnblogs.com/zhangjinyi97/p/12601750.html
Copyright © 2020-2023  润新知