Python常用模块系列
1.时间模块
import time,datetime # print(time.time()) #时间戳
# print(time.strftime("%Y-%m-%d %X")) #格式化时间
# print(time.localtime()) #本地的struct_time
# print(time.gmtime()) #本地的utc时间
# print(time.ctime()) #英文日期 #时间加减
print(datetime.datetime.now()) #显示当前时间的毫秒
print(datetime.date.fromtimestamp(time.time())) #将时间戳直接转成日期格式
print(datetime.datetime.now() + datetime.timedelta(3)) #显示现在时间加三天
print(datetime.datetime.now() + datetime.timedelta(-3)) #显示现在时间减三天
print(datetime.date.fromtimestamp(time.time()) + datetime.timedelta(3)) #当前时间取整加三
print(datetime.date.fromtimestamp(time.time()) + datetime.timedelta(-3)) #当前时间取整减三
print(datetime.datetime.now() + datetime.timedelta(hours=3))#显示现在时间加三小时
print(datetime.datetime.now() - datetime.timedelta(hours=3))#显示现在时间减三小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30))#显示现在时间加三十分
#时间替换
now_time = datetime.datetime.now()
print(now_time.replace(minute=3,hour=2))
- 其中计算机认识的时间只能是'时间戳'格式,而程序员可处理的或者说人类能看懂的时间有: '格式化的时间字符串','结构化的时间' ,于是有了下图的转换关系

2.random模块
import random # print(random.random()) #随机生成一个大于0到小于1的小数 (0,1)
# print(random.randint(1,3)) #随机生成一个大于等于1小于等于三的整数 [1,3] #打乱列表顺序
# item=[1,2,3,4,5,6]
# random.shuffle(item)
# print(item) #生成几位随机验证码
def range_code(n):
res=''
for i in range(n):
s1=chr(random.randint(65,90))
s2=str(random.randint(0,9))
res+=random.choice([s1,s2])
return res print(range_code(6))
3.logging模块
'''
日志级别:
critical(严重)=50
error(错误)=40
warning(警告)=30
info(正常)=20
debug(调试级别)=10
notset(没有设置日志级别)=0
默认用root产生日志
控制日志打印到文件中,并且自己定制日志的输出格式
''''' # import logging #默认是warning
#
# logging.basicConfig(
# filename="access.log",
# format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
# datefmt="%Y-%m-%d %H:%M:%S",
# level=10,
# )
# logging.debug("debug:debug log")
# logging.info("info:info log")
# logging.warning("warning: warning log")
# logging.error("error: error log")
# logging.critical("critical: critical log") import logging #产生对象
logger=logging.getLogger("root")
#产生日志
# logger.debug("debug")
# logger.info("info:info log")
# logger.warning("warning: warning log")
# logger.error("error: error log")
# logger.critical("critical: critical log")
#filter对象,过滤,省略
#handler对象,负责接收logger对象传来的日志内容,控制打印到哪里,
h1=logging.FileHandler("t1.log")
h2=logging.FileHandler("t2.log")
h3=logging.StreamHandler()
#定制日志格式
#给文件
formatter1=logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
datefmt="%Y-%m-%d %H:%M:%S",
)
#给终端
formatter2=logging.Formatter(
'%(asctime)s - %(message)s',
datefmt="%Y-%m-%d %H:%M:%S",
) #建立关系:logger对象才能把自己的日志交给handle负责输出
logger.addHandler(h1)
logger.addHandler(h2)
logger.addHandler(h3)
logger.setLevel(10) #绑定日志格式到Filehandler(文件)对象
h1.setFormatter(formatter1)
h2.setFormatter(formatter1)
#绑定日志格式到StreamHandler(终端)对象
h3.setFormatter(formatter2) #设置日志级别
h1.setLevel(10)
h2.setLevel(10)
h3.setLevel(30) logger.debug("debug")
logger.info("info")
logger.warning("warning")
# logger.error("error")
# logger.critical("critical")
4.re模块
4.1 匹配模式

import re
# print(re.findall('asd',"asd asd ads asdasd 1#¥%das")) #匹配到了4个
# print(re.findall('aaa',"aaaa")) #只匹配到1个
'''
\w 匹配字数数字下滑线
\W 不匹配字母数字下滑线
'''
# print(re.findall("\w","hello world 123_456 $%"))
# print(re.findall("\W","hello world 123_456 $%"))
# print(re.findall("\s","hello world 123_456 $%"))
# print(re.findall("\S","hello world 123_456 $%"))
# print(re.findall("\d\d","hello world 123_456 $%"))
# print(re.findall("^h","hello world 123_456 $%"))
# print(re.findall("\$$","hello world 123_456 $%$"))
# print(re.findall("a.c","abc asc a&c a\nc a c"))
# print(re.findall("a.c","abc asc a&c a\nc a c",re.S)) #re.S可以匹配到换行 '''
. 任意
* 出现0次以上
+ 至少出现一次
? 出现0次或1次
.* 贪婪匹配
.*? 非贪婪匹配
'''
5. json模块
import json
user={"name":"xiaojin","pwd":123}
with open("db.txt","w",encoding="utf-8") as write_f:
line=json.dumps(user)
write_f.write(line) with open("db.txt","r",encoding="utf-8") as read_f:
data=read_f.read()
dic=json.loads(data)
print(dic["name"])
Python常用模块系列的更多相关文章
- Python 常用模块系列(2)--time module and datatime module
import time print (help(time)) #time帮助文档 1. time模块--三种时间表现形式: 1° 时间戳--如:time.time() #从python创立以来,到当 ...
- 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 ...
- python常用模块集合
python常用模块集合 Python自定义模块 python collections模块/系列 Python 常用模块-json/pickle序列化/反序列化 python 常用模块os系统接口 p ...
- Python常用模块之sys
Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...
- Python常用模块中常用内置函数的具体介绍
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...
- python——常用模块2
python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") loggin ...
- python——常用模块
python--常用模块 1 什么是模块: 模块就是py文件 2 import time #导入时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的 ...
- Python常用模块——目录
Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...
- python 常用模块之random,os,sys 模块
python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...
随机推荐
- linux的echo命令整理
linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字,一般起到一个提示 ...
- CF1241 D Sequence Sorting(离散化+DP)
题意: 给定数组a[n],用两种操作: 1.将数组中所有值为x的数移至开头 2.将数组中所有值为x的数移至末尾 问,经过最少多少次操作,能将数组a[n]变为非递减的有序数列? (1<=n< ...
- Linux运维基础采集项
1. Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工 ...
- 为什么tcp-wrappers被Redhat Centos Fedora废弃?
1 简述 TCP wrappers is a simple tool to block incoming connection on application level. This was very ...
- C++中的类型转换函数
1,转换构造函数可以将普通的基础类型转换为当前的类类型,也有能力将其它类类 型的对象转换为当前的类类型: 2,问题: 1,类类型是否能够类型转换到普通类型? 1,可以的: 3,类型转换函数: 1,C+ ...
- python isinstance()函数和type()函数
一.type()用法 描述: python的 type 函数有两个用法,当只有一个参数的时候,返回对象的类型.当有三个参数的时候返回一个类对象. 语法: 一个参数:type(object) 三个参数: ...
- 2018-2-13-关于Host(主机)
title author date CreateTime categories 关于Host(主机) lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23:3 ...
- 轻量级Spring定时任务(Spring-task)
Spring3.0以后自主开发的定时任务工具,spring-task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式. ...
- linux 定时任务---给心爱的小姐姐发情书
目录 1.计划任务基本概述 什么是crond? 为什么要用crond? 2.计划任务时间管理 crontab配置文件解析 crontab的时间编写规则 crontab命令选项 3.计划任务编写实践 使 ...
- 2018/8/26学习Mysql笔记
SELECT * FROM product; #.基本增删改查 #新增 #需求:添加一条数据到产品表 产品名称为苹果手机 卖价为5000 ); #删除 #需求:删除产品表中id=20的数据 ; #需求 ...