day16-常用模块I(time、datetime、random、os、sys、json、pickle)
time模块
time模块一般用于不同时间格式的转换,在使用前用import time导入。在python中,通常有这几种方式来表示时间:
1.时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回浮点型
import time
timestamp = time.time()
print(timestamp,type(timestamp))
1560149134.940318 <class 'float'>
2.格式化时间:表示的是普通的字符串格式的时间。
format_time = time.strftime('%Y-%m-%d %X')
print(format_time,type(format_time))
2019-06-10 14:48:30 <class 'str'>
3.结构化时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
print(time.localtime()) # 本地时区的结构化时间,处于东八区,比格林尼治时间早8小时
print(time.gmtime()) # 格林尼治的结构化时间
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=14, tm_min=54, tm_sec=56, tm_wday=0, tm_yday=161, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=6, tm_min=54, tm_sec=56, tm_wday=0, tm_yday=161, tm_isdst=0)
4.不同格式时间的转换

# 结构化时间转换为格式化时间格式(strftime)
struct_time = time.localtime()
format_time = time.strftime("%Y-%m-%d %X", struct_time)
print(format_time)
2019-06-10 15:03:01
# 结构化时间转换为时间戳格式(mktime)
timestamp = time.mktime(struct_time)
print(timestamp)
1560150332.0
# 时间戳格式转换为结构化时间(localtime/gmtime)
timestamp = time.time()
struct_time = time.localtime(timestamp)
print(struct_time)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=15, tm_min=7, tm_sec=56, tm_wday=0, tm_yday=161, tm_isdst=0)
# 格式化时间转换为结构化时间(strptime)
struct_time = time.strptime('2019-6-10 15:00:00','%Y-%m-%d %X')
print(struct_time)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=15, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=161, tm_isdst=-1)
5.time.sleep(n):睡n秒,可用来暂停几秒
datetime模块
一般用于时间的加减
1.datetime.datetime.now()返回当前时间
import datetime
now_time = datetime.datetime.now()
print(now_time, type(now_time))
2019-06-10 15:27:15.639005 <class 'datetime.datetime'>
若要获取年月日,可以通过切分的方式获取,先要转换成字符串的格式。如获取2019-06-10
print(str(now_time).split()[0])
2019-06-10
2.时间的加减操作:不能指定月、年来加减
print(now_time + datetime.timedelta(3)) # 默认为天数,加三天
print(now_time + datetime.timedelta(-3)) # 减三天
print(now_time - datetime.timedelta(3)) # 减三天
print(now_time + datetime.timedelta(hours=1)) # 加1小时
print(now_time + datetime.timedelta(minutes=30)) # 加30分钟
print(now_time + datetime.timedelta(hours=5, minutes=21))
2019-06-13 15:16:18.804198
2019-06-07 15:16:18.804198
2019-06-07 15:16:18.804198
2019-06-10 16:16:18.804198
2019-06-10 15:46:18.804198
2019-06-10 20:37:18.804198
3.时间替换:相当于在当前时间基础上生成一个指定时间,不会改变原来的时间
now_time = datetime.datetime.now()
print(now_time.replace(year=2012, month=12, day=20))
print(now_time)
2012-12-20 15:26:34.608643
2019-06-10 15:26:34.608643
random模块
一般用来生成随机数
1.生成大于0小于1的小数
import random
print(random.random())
0.058421228800103364
2.生成大于等于m,小于等于n的整数(m<=n)
print(random.randint(1,3))
2
3.生成大于等于m,小于n的整数(m<n)
print(random.randrange(1,3))
1
4.生成大于m,小于n的小数(m<n)
print(random.uniform(1,3))
2.0484929224471413
5.获取列表中任意一个元素
lis = [1, 'a', [2,3,4],'bc']
print(random.choice(lis))
[2, 3, 4]
6.获取列表中n个元素组合(sample([list],n))
lis = [1, 'a', [2,3,4],'bc']
print(random.sample(lis,2))
[1, [2, 3, 4]]
7.将列表内的顺序打乱
lis = [1, 'a', [2,3,4],'bc']
random.shuffle(lis)
print(lis)
[[2, 3, 4], 'bc', 1, 'a']
day16-常用模块I(time、datetime、random、os、sys、json、pickle)的更多相关文章
- python之常见模块(time,datetime,random,os,sys,json,pickle)
目录 time 为什么要有time模块,time模块有什么用?(自己总结) 1. 记录某一项操作的时间 2. 让某一块代码逻辑延迟执行 时间的形式 时间戳形式 格式化时间 结构化时间 时间转化 总结: ...
- 常用模块之 time,datetime,random,os,sys
time与datetime模块 先认识几个python中关于时间的名词: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“ty ...
- Day 17 time,datetime,random,os,sys,json,pickle
time模块 1.作用:打印时间,需要时间的地方,暂停程序的功能 时间戳形式 time.time() # 1560129555.4663873(python中从1970年开始计算过去了多少秒) 格式化 ...
- Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)
1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...
- python笔记-1(import导入、time/datetime/random/os/sys模块)
python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...
- 模块random+os+sys+json+subprocess
模块random+os+sys+json+subprocess 1. random 模块 (产生一个随机值) import random 1 # 随机小数 2 print(random.rando ...
- CSIC_716_20191116【常用模块的用法 time ,datetime, random, os, sys, hashlib】
import time import datetime import os import sys import random import hashlib time模块 时间戳(Timestamp) ...
- 学到了林海峰,武沛齐讲的Day22-完 os sys json pickle shelve XML re
__ file__ ===== 文件路径 os.path.dirname( 路径 )=======到上一层目录 os sys
- Python常用模块(time, datetime, random, os, sys, hashlib)
time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) : 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...
- python笔记-6(import导入、time/datetime/random/os/sys模块)
一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...
随机推荐
- python模块之 paramiko(转载)
paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. 1 基于用户名和密码的 sshclient 方式登录 # 建立一个s ...
- 2016/2/21 JavaScript简介
1,javaScript 是什么? 是脚本语言,需要有宿主文件,它的宿主文件是HTML文件.2,它与Java什么关系? 没有什么直接的关系,Java是Sun公司(被Oracle收购了), netspa ...
- oracle存储过程和游标的使用
oracle存储过程和游标的使用 (2011-04-19 14:52:47) 转载▼ 游标: 用来查询数据库,获取记录集合(结果集)的指针,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情 ...
- T3 最短路 line
T3 最短路 line [问题描述] 给定一个 n 个点,m 条边的有向图,每个点有一个权值 a[i],表示这个点要到达多少次,1 为起始点,从 1 到 i 的距离为 d[i],请你输出∑a[i]*d ...
- poj 2762(tarjan缩点+判断是否是单链)
Going from u to v or from v to u? Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19234 ...
- IDEA 单元测试
下载所需的两个 jar 包,下载地址:Download and Install · junit-team/junit4 Wiki · GitHub junit-4.12.jar hamcrest-co ...
- 英式英语 vs 美式英语
0. 常见不同 日期的表达: 美国:月日年: 英国:日月年: 1. 发音 schedule,美 ['skɛdʒul],英 [ˈʃɛdjuːl] pecan,山核桃,英 ['piːk(ə)n;],美 [ ...
- BZOJ_4800_[Ceoi2015]Ice Hockey World Championship_双指针
BZOJ_4800_[Ceoi2015]Ice Hockey World Championship_双指针 Description 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. Inpu ...
- MySQL - MyCat 实现读写分离
前言 MyCat是一个彻底开源的,面向企业应用开发的大数据库集群,支持事务.ACID.可以替代MySQL的加强版数据库.其功能有可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群.融 ...
- Redis设置认证密码
1.找到Redis里的redis.conf配置文件:搜素requirepass所在的行,格式为:requirepass password 2.redis-cli客户端登陆格式:redis-cli -a ...