python-time模块--pickle模块
time 模块
为什么要有time模块,time模块有什么用?
time模块用来打印时间,并且有暂停程序的功能,需要时间的地方就要调用。
time模块的三种格式
时间戳(timestamp)
时间戳表示的是从1970年1月1日0:00:00开始按秒计算的偏移量
import time
print(time.time())
1560166598.8710632
格式化时间(需要自己定义格式)
格式化时间就是普通字符串格式的时间表示方式,需要自己定义格式。
print(time.strftime('%Y-%m-%d'))
2019-06-10
结构化时间(struct—time)
print(time.localtime()) # 北京时间
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=19, tm_min=42, tm_sec=45, tm_wday=0, tm_yday=161, tm_isdst=0)
print(time.gmtime()) # 格林威治时间(时间标准时间)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=11, tm_min=43, tm_sec=46, tm_wday=0, tm_yday=161, tm_isdst=0)
结构化时间转换为格式化时间
struct_time = time.localtime()
print(time.strftime('%Y-%m-%d',struct_time))
2019-06-10
结构化时间转换为时间戳
print(time.mktime(struct_time))
1560167473.0
时间戳转换成结构化时间
stamp_time = time.time()
print(time.localtime(stamp_time))
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=19, tm_min=55, tm_sec=25, tm_wday=0, tm_yday=161, tm_isdst=0)
格式化时间转换成结构化时间
print(time.strptime('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=0, tm_sec=0, tm_wday=5, tm_yday=152, tm_isdst=-1)
程序延时
time.sleep(1)
datetime 模块
为什么要有datetime模块,有什么用?
datetime模块能进行时间的加减
获取当前时间
import datetime
now = datetime.datetime.now()
print(now)
2019-06-10 20:05:05.697198
时间的加减
print(now + datetime.timedelta(3)) # 3代表的参数表示天数,且里面的参数只能是天,不能进行年和月的加减
print(now + datetime.timedelta(-3))
2019-06-13 20:06:34.748685
2019-06-07 20:09:11.633673
时间的年月日的修改
print(now.replace(year=2010,month=6,day=8,hour=19,minute=10,second=11))
2010-06-08 19:10:11.641058
random 模块
为什么要有random模块,有什么用?
- 打印(0,1)之间的数, 不会取0和1
print(random.random())
0.9112520136212495
打印[n,m]的整数 # 会去n和m
print(random.randint(1,5)) 1
打印(n,m)的小数
print(random.uniform(1,5)) 4.66308974253497
打印[n,m)的整数 取头不取尾
print(random.randrange(1,3)) 1
从容器中随机选择一个(牢记,经常用) 抽奖程序就是基于这个基础做出来的
res = random.choices([1,4,7,9])
print(res) [4]
抽奖实例:
count =0
while True:
res = random.choices([1000,22,333,44])
count +=500
if count == 3000:
print(f'恭喜你获得1000元大奖')
else:
if res ==1000:
print('再来一次!')
else:
print(f'恭喜你获得{res}')
从容器中随机选择多个(牢记,经常用)
```python
print(random.sample([1,2,'w','t'],2))
[1, 'w']
```
打乱容器顺序(牢记)
lis = [1,2,3,4]
random.shuffle(lis)
print(lis)
[3, 1, 2, 4]
os模块(与操作系统交互)
os模块与操作系统交互,在python中进行文件操作
- 创建文件夹 os.mkdir()
- 删除文件夹,递归往上删除空文件夹 os.removedirs()
- 删除一个空文件夹 os.rmdir()
- 列出文件夹所有文件名和隐藏文件名 os.listdir()
- 删除文件 os.remove()
- 重命名文件名 os.rename()
- 打印环境变量 os.envirom()
- 添加环境变量 os.path.dirname(‘程序执行文件所在的文件夹路径’)重点
- 判断文件是否存在 os.path.exists()
- 拼接文件路径(因为不同系统的路径拼接符不一样)os.path.join()
- 计算文件大小 os.path.getsize()重点
- 打印文件夹下所有文件夹和文件 os.walk()
sys 模块(与python交互)
查看当前文件路径 sys.argv() 重点
print(sys.argv) ['D:/pycharm学习笔记/test1/test-6-10.py']
获取解释器版本 sys.hexversion
print(sys.hexversion)
50726128
获取当前文件导入模块的路径 sys.path 重点
print(sys.path) ['D:\\pycharm学习笔记\\test1', 'D:\\pycharm学习笔记', 'D:\\python3\\python36.zip', 'D:\\python3\\DLLs', 'D:\\python3\\lib', 'D:\\python3', 'D:\\python3\\lib\\site-packages', 'D:\\pycharm\\PyCharm 2018.1.4\\helpers\\pycharm_matplotlib_backend']
json 模块 与pickle 模块
序列化(dump)
从内存到硬盘这个过程叫做序列化,序列化必须得规定格式
特点:
- 持久保存状态
- 跨平台交互数据(但只能存dict/list/str/int/float/bool/None)
with open('文件.json','w',encoding='utf8') as fw:
json.dump(dict,fw)
反序列化 (load)
with open('文件.json','r',encoding='utf8') as fr:
data = json.load(fr)
pickle
pickle也是序列化和反序列化,json可以跨平台,只支持dict/list/str/int/float/bool/None
pickle支持python中任意数据类型,所以不能跨平台(不同平台的函数一定是不同的),pickle模块序列化过程是以二进制形式转换
序列化
with open('文件.json','wb') as fw:
pickle.dump(dict,fw)
反序列化
with open('文件.json','rb') as fr:
data = pickle.load(fr)
python-time模块--pickle模块的更多相关文章
- python(31)——【sys模块】【json模块 & pickle模块】
一.sys模块 import sys sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit() #退出程序,正常退出时exit(0) sys.version #获取pyt ...
- Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块
Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...
- sys模块&json模块&pickle模块
sys模块&json模块&pickle模块 sys模块 一.导入方式 import sys 二.作用 与Python解释器交互 三.模块功能 3.1 经常使用 sys.path #返回 ...
- [python标准库]Pickle模块
Pickle-------python对象序列化 本文主要阐述以下几点: 1.pickle模块简介 2.pickle模块提供的方法 3.注意事项 4.实例解析 1.pickle模块简介 The pic ...
- python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )
1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...
- Python json和pickle模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- day19 python模块 json模块 pickle模块
day19 python 一.序列化模块 序列类型: 列表 字符串 元组 bytes 序列化: 特指字符串和bytes, 就是把其他的数据类型转化成序列的数据类型的过程 dic = ...
- python学习-50 pickle模块
pickle模块 与json方法是一样的 import pickle dic = {'} print(type(dic)) a = pickle.dumps(dic) print(type(a)) f ...
- Python学习笔记——pickle 模块
由于从文本文件中读取出来的内容都会变成字符串,且转换成列表.字典等数据类型比较困难,因此采用pickle模块存储它们 import pickle my_list = [123,3.14,'小甲鱼',[ ...
- 模块之 logging模块 time 模块 random模块 sys模块 pickle模块
1.如果执行文件不在项目根目录下,需要添加项目根目录到sys.path中2.调用业务逻辑 2.logging模块 程序日志是 什么时间发生了什么事情,以及当时的情况 不是logging的话 记录日志的 ...
随机推荐
- POJ-2777-CountColor(线段树,位运算)
链接:https://vjudge.net/problem/POJ-2777#author=0 题意: Chosen Problem Solving and Program design as an ...
- jQuery背景插件backstretch使用指南
http://www.bkjia.com/Javascript/987917.html
- 规则引擎.Net Core
.Net Core 环境下构建强大且易用的规则引擎 https://www.cnblogs.com/chenug/p/9160397.html 本文源码: https://github.com/jon ...
- 重置 linux系统后要配置的基本组件操作
1.安装jdk https://www.cnblogs.com/shihaiming/p/5809553.html 2.安装mysql 3.安装tomcat
- 获取jqGrid中选择的行的数据
下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: var id=$(‘#gridTable’).jqGrid(‘getGridParam’,'selrow’); 如果想要 ...
- JAVA 框架之面向对象设计原则
面向对象设计原则: 单一职责原则 SRP : 一个类或者行为只做一件事 . 降低代码冗余,提高可重用性,可维护性,可扩展性,可读性 使用组合形式 里氏替换原则 LSP : 所有引用基类 ...
- GreenDao使用踩过的坑
本来想用litePal,看了郭大婶的说明,真的是好用! 后来发现网上说比较流行的还是 GREENDAO,且效率不错! 不用管那么多了,直接用吧. --------------------------- ...
- javascript组件封装中一段通用代码解读
有图有真相,先上图. 相信很多想去研究源码的小伙伴一定被这段代码给吓着了把,直接就打消了往下看下去的想法.我刚开始看的时候也是有点一头雾水,这是什么东东这么长,但是慢慢分析你就会发现其中的奥秘,且听我 ...
- Android笔记--LayoutInflator源码和使用分析
LayoutInflator源码分析 获取LayoutInflator对象 获取LayoutInflator的方式有两种: 使用LayoutInflator.from(Context context) ...
- 由Cocos2d-x工程入口窥见代理模式
关于设计模式(Design Pattern),自从“四人帮”第一次在<Design Patterns: Elements of Reusable Object-Oriented Software ...