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常用模块系列的更多相关文章

  1. Python 常用模块系列(2)--time module and datatime module

    import time print (help(time)) #time帮助文档 1. time模块--三种时间表现形式: 1° 时间戳--如:time.time()  #从python创立以来,到当 ...

  2. 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 ...

  3. python常用模块集合

    python常用模块集合 Python自定义模块 python collections模块/系列 Python 常用模块-json/pickle序列化/反序列化 python 常用模块os系统接口 p ...

  4. Python常用模块之sys

    Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...

  5. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

  6. python——常用模块2

    python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") loggin ...

  7. python——常用模块

    python--常用模块 1 什么是模块: 模块就是py文件 2 import time #导入时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的 ...

  8. Python常用模块——目录

    Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...

  9. python 常用模块之random,os,sys 模块

    python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...

随机推荐

  1. <读书笔记>《Web前端开发最佳实践》

    P77 P89 CSS Reset P94 给CSS样式定义排序    排序工具:CSScomb P97 什么是CSS的权重?权重是指选择符的优先级 P100 工具:Sass Less P101 框架 ...

  2. 箫声远(本人)的小站(为展示作品、简历,基于github pages)

    箫声远的个人前端小站在线地址

  3. inode的若干锚

    /** * __insert_inode_hash - hash an inode * @inode: unhashed inode * @hashval: unsigned long value u ...

  4. 转 mysql 远程连接数据库的二种方法

    mysql 远程连接数据库的二种方法   一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456” ...

  5. Ubuntu下安装chrome浏览器步骤

    进入 Ubuntu 18.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或“终 ...

  6. .360doc.com dot.net技术架构

  7. Nginx的应用之虚拟主机

    开始前请确保selinux关闭,否则当配置完虚拟主机后,尽管权限或者网站目录都正确,访问的结果也是403 nginx的虚拟主机有三种方式: 一.基于域名的虚拟主机 (1)创建对应的web站点目录以及程 ...

  8. Codeforces 364E 分治

    题意:给你一个01矩阵,问此矩阵有多少个和恰好为k的子矩形. 思路:分治,对于当前矩形,用一条中线把矩形分成两半,分治之后计算跨过中线的矩形个数.更具体的来说(假设划了一条水平中线),我们枚举矩形左右 ...

  9. webpack 学习2 入口(entry)和输入管理(output)

    在开始上代码之前,先让我们盘一盘什么是webpack中的入口和输入 入口 假设你现在手里有一个水龙头,然后十个人用水管从你这里拿水.你这个龙头就是水的入口,水管就是你和这些人的依赖联系.现在供水局的要 ...

  10. pc上用C语言模拟51多任务的案例程序

    #include <stdio.h> #include <stdlib.h> //任务槽个数.在本例中并未考虑任务换入换出,所以实际运行的任务有多少个, //就定义多少个任务槽 ...