Day 17 time,datetime,random,os,sys,json,pickle
time模块
1.作用:打印时间,需要时间的地方,暂停程序的功能
- 时间戳形式
time.time()
# 1560129555.4663873(python中从1970年开始计算过去了多少秒)
- 格式化时间(需要自己给定格式)
time.strftime('%Y-%m-%d %H:&M:&S')
#2019|06|10 15:22:01
- 结构化时间
time.localtime() #以北京时间为准
time.gmtime(0) #打印1970年的时间
time.gmtime() #以格林威治时间为准,时间差8h
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=15, tm_min=23, tm_sec=4, tm_wday=0, tm_yday=161, tm_isdst=0)
#time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=7, tm_min=23, tm_sec=4, tm_wday=0, tm_yday=161, tm_isdst=0)
- 结构化时间转格式化时间
struct_time=time.localtime()
time.strftime('%Y-%m-%d',struct_time)
#2019-06-10
- 结构化时间转换为时间戳
struct_time=time.localtime()
time.mktime(struct_time)
#1560151699.0
- 格式化时间转为结构化时间
format_time=time.strftime('%Y-%m-%d %X')
#2019-06-10 15:38:58
time.strtime('2019-06-01 12:00:00','%Y-%m-%d %X')
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=1, tm_hour=12, tm_min=12, tm_sec=23, tm_wday=5, tm_yday=152, tm_isdst=-1)
- 时间戳转换为结构化时间
stamp_time=time.time()
time.localtime(stamp_time)
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=15, tm_min=42, tm_sec=24, tm_wday=0, tm_yday=161, tm_isdst=0)
- 睡眠
time.sleep(3)
datetime模块
作用:时间加减
- 获取当前时间
now=datetime.datetime.now()
#2019-06-10 15:44:53.049700
- 时间加减 timedelta
now=datetime.datetime.now()
now+datetime.timedelta(days=5) #默认为天
now-datetime.timedelta(5) #默认为天
now+datetime.timedelta(-5) #默认为天
# print(now + datetime.timedelta(years=5)) # 无法加年和月
print(now + datetime.timedelta(hours=5))
print(now + datetime.timedelta(minutes=65))
print(now + datetime.timedelta(seconds=65))
- 时间替换 now.replace
now.replace(year=2012,month=12,day=22,hour=5,minute=13,second=14)
#2012-12-22 05:13:14.758463
random 模块
作用:随机数
- 打印(0,1)随机小数,不会取0和1
random.random()
- 打印[n,m]的整数,会取n和m
random.randint(1,3)
- 打印(n,m)的小数
randome.uniform(1,3)
- 打印[n,m)的整数 包括N 不包括M
random.randrange(1,3)
- 从容器中随机选一个
random.choice([10000, 2, 1, 3, 4])
- 从容器中选择多个
random.sample([1,2,3,4,5,6],2)
- 打乱容器顺序
lis=[1,2,3,4,5]
random.shuffle(lis)
os模块
作用:os和操作系统交互,文件操作
import os
os.mkdir('bbb') #创建文件夹
os.removedirs(r'd:\aa\') #删除一个空文件夹,递归往上删除空文件夹
os.rmdir(r'd:\aa') #删除一个空文件夹夹
os.listdir(r'd:\aaa') #列出文件夹内所有文件名和隐藏文件名
os.remove(r'd:\aaa\1.txt') #删除文件
os.rename('老文件名','新文件名')
os.environ #打印环境变量
os.path.dirname(__file__) #牢记(dirname),用在执行文件添加环境变量
os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
os.path.exists('路径') #判断文件是否存在
so.path.join(r'路径','aa.txt') #拼接路径,因为不同操作系统的路径拼接符不一样
os.path.getsize('路径') #计算文件大小
os.walk() #打印文件夹下所有文件夹和文件
sys模块
作用:与python交互
import sys
sys.argv # 牢记(当使用Python file.py 参数 ,接收参数
sys.hexversion #获取解释器版本
sys.path # 牢记(获取当前文件导入模块的路径)
sys.stdout.write('123') #c写 print
sys.stdin.read(10) #c写 input
json 模块
作用:序列化 保存数据(从内存到硬盘这个过程叫做序列化,这个序列化必须得规定格式)
作用:反序列化 把json文件从硬盘中读取出来
特点:json文件并不是python所独有的,所有的语言都有json,跨平台/语言传输数据 json文件中只能写入python中的dict/list/str/int/float/bool/None
import json
json.dump(,) #第一个参数为内容,第二参数为打开文件的变量
json.load() #第一个参数为 打卡文件的变量
pickle模块
作用:pickle也是序列化和反序列化,json可以跨平台,只支持dict/list/str/int/float/bool/None
pickle支持python中任意数据类型,所以不能跨平台(不同平台的函数一定是不同的),pickle模块序列化过程是以二进制形式转换
import pickle
pickle.dump(func,fw)
data = pickle.load(fr)
data()
Day 17 time,datetime,random,os,sys,json,pickle的更多相关文章
- python之常见模块(time,datetime,random,os,sys,json,pickle)
目录 time 为什么要有time模块,time模块有什么用?(自己总结) 1. 记录某一项操作的时间 2. 让某一块代码逻辑延迟执行 时间的形式 时间戳形式 格式化时间 结构化时间 时间转化 总结: ...
- 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 ...
- 常用模块之 time,datetime,random,os,sys
time与datetime模块 先认识几个python中关于时间的名词: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“ty ...
- 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笔记-6(import导入、time/datetime/random/os/sys模块)
一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...
- Python常用模块(time, datetime, random, os, sys, hashlib)
time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) : 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...
- Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)
1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...
随机推荐
- python中 __new__和__init__
python这两个函数和类的实例化有关. __init__是实例化完成之后调用的,会对生成的对象实例做一些修饰 __new__是python新类型才有的,它更像是c/c++里面的构造函数,因为这个函数 ...
- IntelliJ IDEA中出现could not auto wired错误提示处理方式
IntelliJ IDEA中出现could not auto wired错误提示处理方式 程序可以正常运行,就是出现错误提示: 学习了:http://blog.csdn.net/xlxxybz1314 ...
- hdu5242 上海邀请赛 优先队列+贪心
题意是给你一棵树 n个点 n-1条边 起点是1 每一个点都有权值 每次能从根节点走到叶子节点 经行k次游戏 每次都是从1開始 拿过的点的权值不能拿第二次 问最大权值和. 開 ...
- VC问题 IntelliSense:“没有可用的附加信息”,[请參见“C++项目 IntelliSense 疑难解答”,获得进一步的帮助]
在XP上安装VS2010 后发现 IntelliSense不能使用,但在Windows7上是能够正常使用这功能的.关于IntelliSense不能使用的问题已有网友提出了是由于KB2876217这个补 ...
- 一条SQL面试题
求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID 例如:6,7,8,9,10条记录均符合 ID 主叫号码 被叫号码 通话起始时间 通话结束时间 ...
- 用 JSQMessagesViewController 创建一个 iOS 聊天 App - 第 2 部分
原文链接 : Create an iOS Chat App using JSQMessagesViewController – Part 2 原文作者 : Mariusz Wisniewski 译者 ...
- bzoj1116 [POI2008]CLO——并查集找环
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1116 分析性质,只要有环,那么给环定一下向就满足了条件: 环上点的其他边可以指向外面,所以两 ...
- Cuckoo for Hashing
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2719 #include <stdio.h ...
- thinkphp方便分页的page方法
page方法也是模型的连贯操作方法之一,是完全为分页查询而诞生的一个人性化操作方法. 用法 我们在前面已经了解了关于limit方法用于分页查询的情况,而page方法则是更人性化的进行分页查询的方法,例 ...
- Docker 探索安装WordPress+Mysql8.0
拉取MYSQL,注意默认是8.0版本,连接加密方式有变化 docker pull mysql 运行MYSQL docker run --name wordpress-mysql -p 3306:330 ...