• python时间模块和random模块


    模块:用一坨代码实现了某个功能的代码集合。

    类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个.py文件组成的代码集合就成为模块。

    如:os是系统相关的模块;file是文件操作相关的模块。

    模块分为三种:自定义模块、内置标准模块(又称标准库)、开源模块

    time&datetime模块

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    #Author: Tony Cabel
    
    import time,datetime
    print(time.clock())         #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()
                                # 测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
    print(time.altzone/3600)    #打印时区
    print(time.asctime())       #返回时间格式"Mon Feb 20 15:01:02 2017",
    t=time.localtime()          #返回本地时间 的struct time对象格式
    print(time.localtime(time.time()+3*3600))   #本地时间后三个小时的时间
    print(t)
    print(t.tm_year,t.tm_yday)
    print(time.time())          #时间戳,从1970年一月一日至今的秒数
    print(time.gmtime())        #返回UTC时间
    print(time.ctime())         #返回Fri Aug 19 12:38:29 2016 格式,
    t2=time.strptime("2017-2-20 11:30","%Y-%m-%d %H:%M")    #将 日期字符串 转成 struct时间对象格式
    t2_stamp=time.mktime(t2)            #将struct时间对象转成时间戳
    print(t2)
    t3=time.localtime(t2_stamp)         #将本地时间戳转换成struct_time格式
    t3_str=time.strftime("%Y-%m-%d-%H-%M.log",t3)      #将utc struct_time格式转成指定的字符串格式
    print(t3_str)
    t4=datetime.datetime.now()          #返回当前时间,格式:2017-02-20 15:01:02.487076
    print(t4)
    t4_fr=t4-datetime.timedelta(days=3) #返回三天前的这个时候的时间,也可以小时分钟秒
    print(t4_fr)
    print(t4.replace(year=2016,month=3,hour=12))    #将当前时间进行任意替换

     时间转换路径:

     
    DirectiveMeaningNotes
    %a Locale’s abbreviated weekday name.  
    %A Locale’s full weekday name.  
    %b Locale’s abbreviated month name.  
    %B Locale’s full month name.  
    %c Locale’s appropriate date and time representation.  
    %d Day of the month as a decimal number [01,31].  
    %H Hour (24-hour clock) as a decimal number [00,23].  
    %I Hour (12-hour clock) as a decimal number [01,12].  
    %j Day of the year as a decimal number [001,366].  
    %m Month as a decimal number [01,12].  
    %M Minute as a decimal number [00,59].  
    %p Locale’s equivalent of either AM or PM. (1)
    %S Second as a decimal number [00,61]. (2)
    %U Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. (3)
    %w Weekday as a decimal number [0(Sunday),6].  
    %W Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. (3)
    %x Locale’s appropriate date representation.  
    %X Locale’s appropriate time representation.  
    %y Year without century as a decimal number [00,99].  
    %Y Year with century as a decimal number.  
    %z Time zone offset indicating a positive or negative time difference from UTC/GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M represents decimal minute digits [-23:59, +23:59].  
    %Z Time zone name (no characters if no time zone exists).  
    %% A literal '%' character.

    random模块

    import random
    print(random.random())      #打印一个随机小数,小数点后十六位
    print(random.randint(1,3))  #随机打印一个从1到3的数,包括3
    print(random.randrange(1,10)) #在range范围内打印一个随机数
    
    import string
    src=string.ascii_letters+string.digits      #生成随机密码的一种方式
    print(''.join(random.sample(src,6)))
    
    checkcode=''                    #另一种生成随机验证码方式
    for i in range(6):
        current=random.randint(0,6)
        if current != i:
            temp=chr(random.randint(65,90))
        else:
            temp=random.randint(0,9)
        checkcode+=str(temp)
    print(checkcode)

     备注:用random.sample不会生成重复的字符,也就是说第一种方式生成的验证码中不会有重复的字符,而第二种方式生成的可能会有重复的字符。

  • 相关阅读:
    UNIX:处理SIGCHLD信号
    多维数组,指针数组使用,指向指针的指针
    bit field
    链表操作,获得泛型效果
    简明 Vim 练级攻略
    指针3,指向链表对象指针的指针
    大端模式,指针数组
    C宏设置掩码
    springboot 启动报错: Multiple Dockets with the same group name are not supported. The following duplicat
    HTML5学习笔记三
  • 原文地址:https://www.cnblogs.com/caibao666/p/6419701.html
Copyright © 2020-2023  润新知