常用模块:

time:

分为三种格式:

  • 1.时间戳:从1970年1月1日0点0分0秒到现在经过的秒数

    • 用于时间间隔的计算
import time
print(time.time())
  • 2.字符串显示时间

    • 用于展示时间,更符合人类认知
print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
# 2020-08-11 19:45:05 PM print(time.strftime('%Y-%m-%d %X'))
# 2020-08-11 21:18:19 print(time.asctime())
# Wed Aug 12 21:20:31 2020
  • 3.结构化显示时间

    • 用于单独获取时间某一部分
print(time.localtime())

# time.struct_time(tm_year=2020, tm_mon=8, tm_mday=11, tm_hour=21,tm_min=30, tm_sec=18, tm_wday=1, tm_yday=224, tm_isdst=0)

# 显示格里尼治标准时间,比中国慢8个小时,中国是东8区
print(time.gmtime()) # 9个字段:
# 年份,月份,日份,小时,分钟,秒, 星期(从0-6,0表示周一),一年的第几天,是否是夏令时
  • 若要显示单独某个字段
# 显示年份
print(time.localtime().tm_year)
# 2020 # 显示当前是一年中的第几天
print(time.localtime().tm_yday)
# 224

三种格式时间转换

  • 时间戳转结构化
tp_time = time.time()
pritn(time.localtime(tp_time))
# 默认是当前时区时间,也可自定义时间戳 print(time.localtime(666666666))
# time.struct_time(tm_year=1991, tm_mon=2, tm_mday=16, tm_hour=9, tm_min=11, tm_sec=6, tm_wday=5, tm_yday=47, tm_isdst=0) # 以格里尼治标准时间为基数
print(time.gmtime(666666666))
# time.struct_time(tm_year=1991, tm_mon=2, tm_mday=16, tm_hour=1, tm_min=11, tm_sec=6, tm_wday=5, tm_yday=47, tm_isdst=0)
  • 结构化转时间戳
st_time = time.localtime()
print(time.mktime(st_time))
  • ​ 结构化转字符串
st_time = time.localtime()
pritn(time.strftime('%Y-%m-%d %H:%M:%S',st_time))
# 2020-08-12 20:43:46
# 需要两个参数,前面是格式,后面是结构时间参数
  • 字符串转结构化
print(time.strptime('2020-08-12 20:43:46','%Y-%m-%d %H:%M:%S')
# 两个参数的格式必须要对应
  • time模块字符串格式无法直接转换成时间戳,需要通过结构化时间转换

    • 时间戳转格式化字符串
    # 首先将时间戳转换为结构化,再转换为格式化字符串
    s_time = time.localtime(666666666)
    print(time.strftime('%Y-%m-%d %H:%M:%S',s_time)) # 1991-02-16 09:11:06
    • 格式化字符串转时间戳
    # 首先将格式化字符串转结构化,再将结构化转时间戳
    struct_time = time.strptime('2020-8-13 13:12:20','%Y-%m-%d %H:%M:%S')
    print(time.mktime(struct_time)) # 1597295540.0

datetime:

  • 格式化显示时间
# 当前时区时间
print(datetime.datetime.now())
# 2020-08-12 21:21:56.192434 # 格林尼治时间
print(datetime.datetime.utcnow())
# 2020-08-12 13:21:56.209435
  • 时间运算
# 显示三天后
print(datetime.datetime.now() + datetime.timedelta(days=3)
# 2020-08-15 10:11:23.132590 # 显示三天前
print(datetime.datetime.now() + datetime.timedalta(days=-3)
print(datetime.datetime.now() - datetime.timedelta(days=3)
# 2020-08-09 10:14:34.984563 # 显示三年后
print(datetime.datetime.now() + datetime.timedelta(days = 365*3))
# 2023-08-12 10:17:01.263930
  • 时间戳转格式化字符串时间
print(datetime.datetime.fromtimestamp(666666666))
# 1991-02-16 09:11:06

random:

  • 此模块提供了伪随机数获取相关的方法
  • random.random():获取[0,1.0)范围内的浮点数
import random
print(random.random())
  • random.randint(a,b):获取[a,b]范围内的一个整数
print(random.randint(1,3))
# 1,2,3都能取到
  • random.uniform(a,b):获取[a,b]范围内的浮点数
print(random.uniform(1.1,1.2))
  • random.randrange(start,stop[,step]):获取[star,stop)之间的整数,可以指定步长
print(random.randrange(1,4))
# 获取[1,4)之间的整数,可以获取到1,2,3 print(random.randrange(1,4,2))
# 可以获取到1,3
  • random.choice(seq):从非空序列seq返回一个随机元素。如果seq为空,则报错
li = [1,2,3,'a','b','c']
print(random.choice())
# 返回结果为列表内的一个随机元素
  • random.sample(x,k):从x中随机抽取k个数据,组成列表返回
li = [1,2,3,'a','b','c']
print(random.sample(li,3))
# 取列表内随机三个元素,组成列表返回
  • random.shuffle(x):混洗。将参数指定的数据中的元素打乱。参数必须是可变的数据类型
random.shuffle(li)
print(li) # random.shuffle()打乱的是原对象的顺序
  • 应用:随机验证码
import random
def make_code(size=6):
res = ''
for i in range(size):
num = str(random.randint(0,9)) # 随机产生一个整数
st1 = chr(random.randint(65,90)) # 获取65-90之间的的整数,通过chr函数转换成大写字母
st2 = chr(random.randint(97,122)) # 获取一个随机小写字母
res += random.choice([num,st1,st2]) # 每次取得其中一个字符,与res累加
return res print(make_code())

Python常用模块之random和time的更多相关文章

  1. python常用模块之random模块

    python常用模块之random模块 在程序中很多会用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串 1.random.randrange():返回1-10之间的 ...

  2. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  3. python 常用模块之random,os,sys 模块

    python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...

  4. python 常用模块(一): random , time , sys , os模块部分知识.

    1.常用模块:(1)collectiaons模块 (2)与时间相关  time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json  ,   pickle 2 ...

  5. python常用模块之random

    random模块 import random print(random.random())#(0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3)) ...

  6. python常用模块之-random模块

    random模块顾名思义就是生成随机数的模块. random模块有以下常见方法: 1,打印0-1之间的任意随机浮点数,不能指定区间. print(random.random()) 2,打印随机符点数, ...

  7. Python常用模块-随机数模块(random)

    Python常用模块-随机数模块(random) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用方法举例 #!/usr/bin/env python #_*_coding: ...

  8. (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...

  9. Python常用模块sys,os,time,random功能与用法,新手备学。

    这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...

随机推荐

  1. oracle adf 入门

    入门必踩坑 坑1:jdeveloper里没有mysql的driver,在maven库里引入了,connection里连接正常,但是deploy出错,can't load driver.即使在项目和to ...

  2. spring的初认识

    spring的理解 1.spring是一个开源的免费框架(容器) 2.spring是一个轻量级的,非入侵式的框架 3.支持事务的处理,对框架的整合的支持 4.控制反转(ioc)和面向切口编程(aop) ...

  3. Mysql-Innodb : 从一个字节到整个数据库表了解物理存储结构和逻辑存储结构

    首先要从Innodb怎么看待磁盘物理空间说起   一块原生的(Raw)物理磁盘,可以把他看成一个字节一个字节单元组成的物理存储介质   如果要在这块原生物理空间中插入一条记录,不能单单只插入数据,还需 ...

  4. Oracle学习(六)存储过程

    一.简介 1.定义 所谓存储过程,就是一段存储在数据库中执行某块业务功能的程序模块. 它是由一段或者多段的PL/SQL代码块或者SQL语句组成的一系列代码块. 2.结构分析 create [or re ...

  5. 报错: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

    你没打开 1.双击打开 2.点击:

  6. Java程序员面试学习资料汇总

    整理了一些关于Java程序员面试的书籍及免费资料. 一.书籍篇1)<Offer来了:Java面试核心知识点精讲(原理篇)>精讲Java面试必需的JVM原理.Java基础.并发编程.数据结构 ...

  7. Artwork (Gym - 102346A)【DFS、连通块】

    Artwork (Gym - 102346A) 题目链接 算法 DFS,连通块 时间复杂度:O(k*n + k * k) 1.这道题就是让你判断从(0,0)到(m,n),避开中途所有的传感器(传感器的 ...

  8. TP 3.2 图片处理类

    TP 3.2 图片处理类 <?php namespace Common\Common; class ImageEdit{ /** * [上传图片并生成缩略图] * @param [type] $ ...

  9. JMeter Websocket 二进制Binary压力测试或接口测试

    背景 最近在做游戏项目,做好java服务端,需要本地调试Websock服务,并且是二进制binary形式传输,网上的很多都是text形式传输的测试页面,所以不符合要求.为了解决websocket的二进 ...

  10. 再解决不了前端加密我就吃shi

    参考文章 快速定位前端加密方法 渗透测试-前端加密测试 前言 最近学习挖洞以来,碰到数据做了加密基本上也就放弃了.但是发现越来越多的网站都开始做前端加密了,不论是金融行业还是其他.所以趁此机会来捣鼓一 ...