常用模块:

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. Web_php_unserialize 攻防世界

    1.$var输入处有一个正则过滤 2._wakeup处需要过滤 编写脚本如下 后在网页输入?var=TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4Oi ...

  2. Dockerfile构建镜像实战

    目录 一.常见Dockerfile指令 二.编写Centos Dockerfile 2.1.编写Dockerfile 2.2.构建 2.3.查看Docker镜像 2.4.运行镜像 三.CMD和ENTR ...

  3. magento首页

    访问首页的时候,路径时没有的,magneto会获取站点的默认路径Mage_Core_Controller_Varien_Router_Standard::match if ($path) {      ...

  4. java面试题(一)

    1.面向对象的特征有哪些方面? - 1 - 2.访问修饰符public,private,protected,以及不写(默认)时的区别? - 1 - 3.String 是最基本的数据类型吗? - 1 - ...

  5. Centos-修改文件访问和修改时间-touch

    touch 如果文件存在,则改变文件的访问时间和修改时间,如果不存在则创建一个空文件 相关选项 -a   更改文件访问时间为当前系统时间 -m     更改文件修改时间为当前系统时间 -c   如果文 ...

  6. Python numpy总结(3)——常用函数用法

    1,np.ceil(x, y) 限制元素范围,进一法,即向上取整. x 表示输入的数据  y float类型 表示每个元素的上限. a = np.array([-1.7, -1.5, -0.2, 0. ...

  7. Django-Scrapy生成后端json接口

    Django-Scrapy生成后端json接口: 网上的关于django-scrapy的介绍比较少,该博客只在本人查资料的过程中学习的,如果不对之处,希望指出改正: 以后的博客可能不会再出关于djan ...

  8. Linux I2C驱动框架

    Linux的I2C体系结构分为3个组成部分: I2C核心(  i2c-core.c ): I2C核心提供了I2C总线驱动和设备驱动的注册.注销方法.I2C通信方法("algorithm&qu ...

  9. 13.深入k8s:Pod 水平自动扩缩HPA及其源码分析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 Pod 水平自动扩缩 Pod 水平自动扩缩工作原理 Pod 水平自动 ...

  10. VS2015中无法查找或打开 PDB 文件

    装载:https://blog.csdn.net/aalonso/article/details/90672072 MFCApplication1.exe"(Win32): 已加载" ...