模块之 logging模块 time 模块 random模块 sys模块 pickle模块
1.如果执行文件不在项目根目录下,需要添加项目根目录到sys.path中
2.调用业务逻辑 2.logging模块
程序日志是 什么时间发生了什么事情,以及当时的情况
不是logging的话 记录日志的流程
1.定义一条日志信息
指定日志的标识符(即级别),方便后续查看日志
2.为期指定显示格式
3.输出到文件或者控制台 logging模块使用不同对象来完成上述几个步骤
logger完成第一步,生产第一个日志对象,并指定级别
多出来的filter用于 过滤日志
formatter完成第二步
handler完成第三步 如果获取的生成器已经存在则不会创建新的,直接将之前的给你 time 模块
用于处理时间相关的
1.获取时间
2.不同格式的时间转换
3.sleep函数 time.time() 浮点型的时间戳 从unix元年开始到现在的秒数
通常用于计算时间差,不用直接给用户看 print(time.asctime()) 格林威治时间格式
print(time.ctime()) 格林威治时间 格式 都是结构化时间(把时间拆为不同的部分)
print(time.gmtime()) 世界时间 比中国时间晚了八小时
time.localtime 获取本地时间 从结构化时间转为时间戳
time.mktime(time.localtime())) 将结构化时间转为格式化字符串时间
print(time.strftime('%Y-%m %h:%m:%s',time.localti么())
结构化可以单独获取某一个比如年份 月份
print(time.localtime().time_year) print(time.striptime('2019-01-23 10:46:44','%Y-%m %h:%m:%s')) import datetime
获取当前时间 会根据时区自动转换
print(datetime.datetime.now()) 创建datetime对象, 指定时间
print(datetime.datetime(2019,1,23)) 两个datetime可以进行减法运算,并且只能减
d1=datetime.datetime(2019,1,23))
d2=datetime.datetime(2019,1,24,10)
print(d2-d1) 可以单独获取某个部分
print(day2.hour) 时间差对象 表示30天
datetime.timedelta(days=30) 三十天以后是什么日子 时间差可以与datetime进行+和-
print(datetime.datetime.now()+dl) 两个时间差 可以进行+ - / random 随机数相关模块
计算机中的随机数都是伪随机
随机数是通过一个算法根据一个种子数计算得来的
只要知道了种子数,随机数的结果就是固定的
默认是使用当前的时间戳作为种子数
import random
print(random.random()) #从0-1 不包含1和0
print(random.randint(1,2)) 闭闭 包含开始和结束
print(random.randrange(1,3)) 闭开 包含开始不包含结束
print(random.choice[1,2,3,4,5]) 从列表中随机选一个
print(random.sample([1,2,3,4,5],2)) 从列表中随机选出指定的个数 打乱顺序(洗牌)
li=[1,2,3,4,5]
random.shuffle(li)
print(li) sys模块
与解释器相关的一些操作
system代表的不是操作系统而是解释器自己 import sys
获取/天机 环境变量
print(sys.path) 获取调用解释器时传递的参数 第一个永远是执行文件本身
print(sys.argv) 理解退出解释器
状态码可以自定义 执行为0
sys.exit(0) 查看已经加载的所有模块
print(sys.modules) print(sys.platform) 获取平台信息 print(sys.version) 获取解释器版本 pickle模块
是一个序列化模块
序列化指的是把一种数据类型转换成另一种数据类型 目的是为了传输或存储数据
目的是为了 永久存储或是进行网络传输
pickle 模块序列化得到的数据只能被pickle来反序列化
如果你写的是一个单机程序 可以使用该模块
对于网络应用程序而言我们需要一种任何语言平台都能识别的数据类型
这就是json和xml 序列化的过程 就是从python数据类型转换为中间类型
反序列化 指的是从中间数据类型 恢复到python的数据类型 dumps 将python数据类型转为字节
dump 封装了write函数的调用(序列化)
loads 是将字节转为python数据类型
load 封装了read函数的调用(反序列化)
pickle序列化得到的数据 不能跨平台
模块之 logging模块 time 模块 random模块 sys模块 pickle模块的更多相关文章
- Python-hashlib、OS、Random、sys、zipfile模块
# print(sys.version) #python 版本 # print(sys.path) # print(sys.platform) #当前什么系统 # print(sys.argv) #当 ...
- 包及常用模块(time、datetime、random、sys)
什么是包?‘ #官网解释 Packages are a way of structuring Python’s module namespace by using “dotted module nam ...
- random,time,sys,os,序列化模块
random模块(随机数模块) 取随机小数: random.random() 取0-1之间的小数 random.uniform(x, y) 取x-y之间的小数 取随机整数: random.randin ...
- python笔记6 模块与包 程序开发规范 包 re sys time os模块
模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他 ...
- Day 17 time,datetime,random,os,sys,json,pickle
time模块 1.作用:打印时间,需要时间的地方,暂停程序的功能 时间戳形式 time.time() # 1560129555.4663873(python中从1970年开始计算过去了多少秒) 格式化 ...
- python之常见模块(time,datetime,random,os,sys,json,pickle)
目录 time 为什么要有time模块,time模块有什么用?(自己总结) 1. 记录某一项操作的时间 2. 让某一块代码逻辑延迟执行 时间的形式 时间戳形式 格式化时间 结构化时间 时间转化 总结: ...
- python模块(json和pickle模块)
json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...
- python数据持久存储-pickle模块
pickle模块实现了基本的数据序列和反序列化.pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,通过pickle模块的反序列化操作,能够从文件中创建上一次程序保存的对象. 接 ...
- Python常用模块(logging&re&时间&random&os&sys&shutil&序列化&configparser&&hashlib)
一. logging(日志模块) 二 .re模块 三. 时间模块 四. random模块 五. os模块 六. sys模块 七. shutil模块 八. 序列化模块(json&pickle&a ...
随机推荐
- Zookeeper问题汇总
1. 遗留问题 a). zookeeper集群如何保证请求的均匀分布? 2. ZK概念澄清 2.1 ZK节点类型 CreateMode.PERSISTENT //持久节点,该节点客户端断开后不会删除 ...
- linux下mysql-5.5.27.tar.gz源程序包安装实例
研究了好几天,终于把mysql装上了,现在来做下小结. 系统环境:fedora8 虚拟机. 1.检查安装使用的编译工具gcc是否存在,如果不存在则要下载安装 # gcc -v 2.卸载低版本的mysq ...
- spring-boot整合shiro作权限认证
spring-shiro属于轻量级权限框架,即使spring-security更新换代,市场上大多数企业还是选择shiro 废话不多说 引入pom文件 <!--shiro集成spring--& ...
- 《Head First 设计模式》之命令模式——遥控器
命令模式(Command) ——将“请求”封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作. 要点 将发出请求的对象和执行请求的对象解耦. 被解耦的两者之间通过 ...
- eclipse 中安装spring tool suite 插件100%成功率
自己曾在学习spring时,在eclipse EE中安装springsourceTool Suite插件浪费了很多时间,不管是离线,在线还是在eclipse marketplace中安装,尝试了许多方 ...
- 关于在C++中调用system函数
先看看下面的这一段程序: #include <iostream> #include <cstdlib> int main(int argc, char* argv[]) { s ...
- C#问题记录-CallbackOnCollectedDelegate
做项目的时候遇到了这个问题: 检测到:CallbackOnCollectedDelegate 对“xx.HookProc::Invoke”类型的已垃圾回收委托进行了回调.这可能会导致应用程序崩溃.损坏 ...
- 模块详解及import本质
一.模块的定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test) 包:用来从逻辑上组织模块的 ...
- 美国移民局的I797表原件和I129表是什么呢
I-129表,Petition for a Non-immigrant Worker,即非移民工作许可申请表I797 表 ,Original L1-1A approval notice L1签证批准通 ...
- php:生成的时间与本地电脑的时间不匹配
如题,在php中我发现在数据库中的时间跟电脑上的时间没有同步 本地时间: 数据库中,生成的时间: 很明显,时分秒是对应不上去的,那么我们只要在php.ini中找到 这里被注释掉了,那我们就改成这样: ...