zoukankan      html  css  js  c++  java
  • Python 时间模块、random模块、os模块、sys模块

    时间模块

    python中时间日期格式化符号: 
    %y 两位数的年份表示(00-99%Y 四位数的年份表示(000-9999%m 月份(01-12%d 月内中的一天(0-31%H 24小时制小时数(0-23%I 12小时制小时数(01-12%M 分钟数(00=59%S 秒(00-59%a 本地简化星期名称 
    %A 本地完整星期名称 
    %b 本地简化的月份名称 
    %B 本地完整的月份名称 
    %c 本地相应的日期表示和时间表示 
    %j 年内的一天(001-366%p 本地A.M.或P.M.的等价符 
    %U 一年中的星期数(00-53)星期天为星期的开始 
    %w 星期(0-6),星期天为星期的开始 
    %W 一年中的星期数(00-53)星期一为星期的开始 
    %x 本地相应的日期表示 
    %X 本地相应的时间表示 
    %Z 当前时区的名称 
    %% %号本身
    # 时间模块优先掌握的操作
    #一:time
    import time
    
    # 时间分为三种格式:
    # 1、时间戳:从1970年到现在经过的秒数
    #    作用:用于时间间隔的计算
    
    # print(time.time())
    
    # 2、按照某种格式显示的时间:2020-03-30 11:11:11
    #    作用:用于展示时间
    
    # print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
    # print(time.strftime('%Y-%m-%d %X'))
    
    # 3、结构化的时间
    #    作用:用于单独获取时间的某一部分
    
    # res=time.localtime()
    # print(res)
    # print(res.tm_year)
    # print(res.tm_yday)
    
    #二:datetime
    import datetime
    
    # print(datetime.datetime.now())
    # print(datetime.datetime.now() + datetime.timedelta(days=3))
    # print(datetime.datetime.now() + datetime.timedelta(weeks=1))
    
    
    
    # 时间模块需要掌握的操作
    # 1、时间格式的转换
    # struct_time->时间戳
    import time
    # s_time=time.localtime()
    # print(time.mktime(s_time))
    
    # 时间戳->struct_time
    # tp_time=time.time()
    # print(time.localtime(tp_time))
    
    # 补充:世界标准时间与本地时间
    # print(time.localtime())
    # print(time.gmtime()) # 世界标准时间,了解
    # print(time.localtime(333333333))
    # print(time.gmtime(333333333))
    
    
    # struct_time->格式化的字符串形式的时间
    # s_time=time.localtime()
    # print(time.strftime('%Y-%m-%d %H:%M:%S',s_time))
    
    # print(time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S'))
    
    
    # !!!真正需要掌握的只有一条:format string<------>timestamp
    # '1988-03-03 11:11:11'+7
    
    # 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)
    
    # format string<---struct_time<---timestamp
    # res=time.strftime('%Y-%m-%d %X',time.localtime(timestamp))
    # print(res)
    
    # time.sleep(3)
    
    # 了解知识
    # import time
    # print(time.asctime())
    
    
    import datetime
    # print(datetime.datetime.now())
    # print(datetime.datetime.utcnow())
    
    print(datetime.datetime.fromtimestamp(333333))
    View Code

    random 模块

    import random
    
    # print(random.random()) #(0,1)----float    大于0且小于1之间的小数
    # print(random.randint(1, 3))  # [1,3]    大于等于1且小于等于3之间的整数
    
    # print(random.randrange(1, 3))  # [1,3)    大于等于1且小于3之间的整数
    #
    # print(random.choice([111, 'aaa', [4, 5]]))  # 1或者23或者[4,5]
    #
    # print(random.sample([111, 'aaa', 'ccc','ddd'],2))  # 列表元素任意2个组合
    #
    # print(random.uniform(1, 3))  # 大于1小于3的小数,如1.927109612082716
    #
    # item = [1, 3, 5, 7, 9]
    # random.shuffle(item)  # 打乱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+=随机字符
    
    
    import random
    
    def make_code(size=4):
        res=''
        for i 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))
    
    
    
    import string
    from random import choice
    
    def generate_random(random_length, type):
        '''
        随机字符串生成函数
        :param random_length:字符串长度
        :param type:字符串类型(0:纯数字 or 1:数字+字符 or 2:数字+字符+特殊字符)
        :return:生成的随机字符串
        '''
        #随机字符串种子
        if type == 0:
            random_seed = string.digits
        elif type == 1:
            random_seed = string.digits + string.ascii_letters
        elif type == 2:
            random_seed = string.digits + string.ascii_letters + string.punctuation
        random_str = []
        while (len(random_str) < random_length):
            random_str.append(choice(random_seed))
        return ''.join(random_str)
    
    if __name__ == "__main__":
        print(generate_random(4, 0))

    os模块

    import os
    
    # 获取某一个文件夹下所有的子文件以及子文件夹的名字
    # res=os.listdir('.')
    # print(res)
    #
    #
    # size=os.path.getsize(r'/Users/linhaifeng/PycharmProjects/s14/day22/01 时间模块.py')
    # print(size)
    
    
    
    # os.remove()  删除一个文件
    # os.rename("oldname","newname")  重命名文件/目录
    
    
    
    # 应用程序----》"ls /"
    # os.system("ls /")
    
    # 规定:key与value必须都为字符串
    
    # os.environ['aaaaaaaaaa']='111'
    # print(os.environ)
    
    
    # print(os.path.dirname(r'/a/b/c/d.txt'))
    # print(os.path.basename(r'/a/b/c/d.txt'))
    
    
    # print(os.path.isfile(r'笔记.txt'))
    # print(os.path.isfile(r'aaa'))
    # print(os.path.isdir(r'aaa'))
    
    # print(os.path.join('a','/','b','c','d'))
    
    
    
    
    # 推荐用这种
    BASE_DIR=os.path.dirname(os.path.dirname(__file__))
    # print(BASE_DIR)
  • 相关阅读:
    微信小程序倒计时,小程序60秒倒计时,小程序倒计时防止重复点击
    微信小程序嵌套h5页面,h5页面返回小程序,小程序和h5的页面和交互方法,h5点击分享小程序页面
    LeetCode—— 括号生成
    LeetCode—— 合并两个有序链表
    LeetCode—— 有效的括号
    LeetCode—— 删除链表的倒数第N个节点
    LeetCode—— 四数之和
    LeetCode—— 电话号码的字母组合
    LeetCode—— 最接近的三数之和
    ***LeetCode—— 三数之和
  • 原文地址:https://www.cnblogs.com/LYPZX/p/13429906.html
Copyright © 2011-2022 走看看