python常用模块--time/datetime,random,sys

一:time模块/datetime模块

    python 中表示时间的方式有以下三种:

    1,时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量

    2,格式化字符串表示的时间(format string)

    3,结构化的时间(struct_time)

import time

print(time.time())   #时间戳:1523176424.5455265

print(time.strftime('%Y-%m-%d %X %p'))   #2018-04-08 20:08:26 PM
print(time.strftime('%Y/%m/%d %H:%M:%S %p'))  #2018/04/08 20:08:26 PM

print(time.localtime())
#time.struct_time(tm_year=2018, tm_mon=4, tm_mday=8, tm_hour=16, tm_min=33, tm_sec=44, tm_wday=6, tm_yday=98, tm_isdst=0)
#                (年,月,日,时,分,秒,星期/星期天为6,一年中的第几天,是否是夏令时)
print(time.localtime().tm_year)   #2018

#UTC 世界标准时间   中国在东八区即 UTC+8
print(time.gmtime())
#time.struct_time(tm_year=2018, tm_mon=4, tm_mday=8, tm_hour=8, tm_min=40, tm_sec=26, tm_wday=6, tm_yday=98, tm_isdst=0)
 
 
#格式化字符串表示时间的格式
'''
%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),星期天为星期的开始 星期天为 0
%W      一年中的星期数(00 - 53)星期一为星期的开始
%x      本地相应的日期表示
%X      本地相应的时间表示
%Z      当前时区的名称
%%      % 号本身
'''
print(time.ctime())    #Sun Apr  8 20:15:42 2018      其参数为默认参数 seconds = None
time.sleep(5)    #睡眠5秒
print(time.asctime())    #Sun Apr  8 20:45:07 2018    默认参数为 p_tuple = None   没有参数时,将会把time.localtime()作为参数传入

    datetime模块:

import time
import datetime

print(datetime.date.fromtimestamp(time.time()))    #2018-04-08

print(datetime.datetime.now())                                       #2018-04-08 21:02:24.517133    当前时间
print(datetime.datetime.now() + datetime.timedelta(3))               #2018-04-11 21:02:24.517133     3天后的这个时间
print(datetime.datetime.now() + datetime.timedelta(-3))              #2018-04-05 21:02:24.517133     3天前的这个时间
print(datetime.datetime.now() + datetime.timedelta(hours=3))         #2018-04-09 00:02:24.517133     3小时后
print(datetime.datetime.now() + datetime.timedelta(hours=-3))        #2018-04-08 18:02:24.517133     3小时前
print(datetime.datetime.now() + datetime.timedelta(minutes=30))         #30分钟后
print(datetime.datetime.now() + datetime.timedelta(minutes=-30))        #30分钟前
print(datetime.datetime.now() + datetime.timedelta(seconds=30))      #2018-04-08 21:02:54.517133      30秒后
print(datetime.datetime.now() + datetime.timedelta(seconds=-30))     #2018-04-08 21:01:54.517133      30秒前

#时间替换
a_time = datetime.datetime.now()
print(a_time.replace(year=2008,hour=6))    #2008-04-08 06:11:28.757450

二:random模块

import random

print(random.random())    #(0,1)   0.5619027547179264
print(random.randint(1,9))  #[1,9]之间的整数     6
print(random.randrange(1,9))    #[1,9)之间的整数,顾头不顾尾     7
print(random.uniform(1,9))     #(1,9)之间的小数   7.041863989249209

print(random.choice('abcd'))       #b    其参数为一个序列  表示从参数序列中随机选取一个元素
print(random.choice([1,2,3,'a']))   #2

print(random.sample('abcdef',2))      #任意取两个字符组成一个列表
print(random.sample([1,'a',2,3,'c'],2))  #任意取列表中的两个元素组成一个新列表

a= ['a','b','c','d']
random.shuffle(a)       #打乱列表的顺序,相当于“洗牌”
print(a)                #['c', 'a', 'b', 'd']
import random
#随机产生n位由大小写字母与数字组成的验证码
def make_code(n):
    res = ''
    for i in range(n):
        s1 = str(random.randint(0,9))     #随机产生一个数字
        s2 = chr(random.randint(65,90))    #随机产生一个大写字母
        s3 = chr(random.randint(97,122))   #随机产生一个小写字母
        res += random.choice([s1,s2,s3])    #从三者中随机选取一个加入字符串res中
    return res
print(make_code(9))     #8w9ldrFob

三:sys模块

import sys
print(sys.version)   #获取Python解释程序的版本信息  3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
print(sys.argv)        #命令行参数List,第一个元素是程序本身路径    ['E:/python/test2.py']
print(sys.platform)    #返回操作系统平台名称    win32
print(sys.path)     #返回模块的搜索路径
#['E:\\python', 'E:\\python3\\python36.zip', 'E:\\python3\\DLLs', 'E:\\python3\\lib', 'E:\\python3', 'E:\\python3\\lib\\site-packages']


猜你喜欢

转载自blog.csdn.net/hua1011161696/article/details/79854172