DAY18、常用模块
一、random:随机数
1、(0,1) 小数:random.random()
2、[1,10] 整数:random.randint(1,10)
3、[1,10) 整数:random.randrange(1,10)
4、(1,10) 小数:random.uniform(1,10)
5、单列集合随机选择1个:random.choice(item)
6、单列集合随机选择n个:random.sample(item,n)
7、洗牌单列集合:random.shuffle(item)
8、例:
import random
def random_code(count):
code = ''
for i in range(count):
num = random.randint(1,3)
if num == '1':
tag = str(random.randint(0,9))
elif num == '2':
tag = chr(random.randint(65,90))
else:
tag = chr(random.randint(97,122))
code += tag
return code print(random.count) 二、shutil:可以操作权限的处理文件模块
1、基于路径的文件复制:shutil.copyfile('source_file','target_file') #两个路径
2、基于流的文件复制:with open('source_file','rb')as r,open('target_file','wb')as w:
shutil.copyfileobj(r,w)
3、递归删除目标目录:shutil.rmtree()
4、文件移动:shutil.move('a/aa.py','b/bb.py')
5、文件夹压缩:shutil.make_archive(目标文件,'zip',存放路径)
6、文件夹解压:shutil.unpack_archive(目标文件,存放路径,'方式(看格式)('zip','gztar')') 三、shevle:可以用字典存取数据到文件的序列化模块
将序列化文件操作dump与load进行封装
s_dic = shelve.open('target.txt') #注:writeback=True操作数据会同步写到文件
1、序列化:存
s_dic['key1'] = [1,2,3,4,5]
s_dic['key2'] = {'name':'Bob','age':18}
s_dic['key2'] = 'abc'
s_dic.close()
2、反序列化:取
s_dic = shelve.open("target.txt", writeback=True)
print(s_dic['key1'])
s_dic['key1'][2] = 30
print(s_dic['key1']) print(s_dic['key2'])
s_dic['key2']['age'] = 300
print(s_dic['key2']) print(s_dic['key3'])
s_dic['key3'] = 'def'
print(s_dic['key3'])
s_dic.close() 四、标准输入输出错误流
1、sys.stdout.write('msg') #print('msg',end='')
2、sys.stderr.write('msg')
3、msg = sys.stdin.readline() 五、logging:日志模块
1、root logging的基本使用:五个级别
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.fatal('fatal')
logging.critical('critical')
2、root logging的基本配置:
logging.basicConfig(
level=logging.DEBUG,
#stream=logging.stdout,
format='%(asctime)s-[%(levelname)s]:%(message)s',
#filename='owen.log',
handlers=[handler1,handler2]
)
3、logging模块四个核心:
Logger | Filter | Handler | Formater
#规定输出源
handler1 = logging.FileHandler('owen.log',enconding='utf-8')
handler2 = logging.StreamHandler()
#规定输出格式
fmt = logging.Formatter(
fmt='%(asctime)s-%(name)s-%(levelname)s:%(message)s',
datefmt='%m-%d %H:%M:%S %p)'
4、logging模块的配置与使用
配置文件:LOGGING_DIC = {}
加载配置文件:
logging.config.dictConfig(LOGGING_DIC)
logging.getLogger('log_name')
DAY18、常用模块的更多相关文章
- day18常用模块之re模块
简单认识正则表达式 正则测试工具:http://tool.chinaz.com/regex/ 元字符,单个字符匹配 . 匹配除换行符以外的任意字符 \w 匹配字母数字下划线(word) \s 匹配任意 ...
- DAY18 常用模块(二)
一.随机数:RANDOM 1.(0,1)小数:random.random() 2.[1,10]整数:random.randint(1,10) 3.[1,10)整数:random.randrang(1, ...
- python 常用模块(一): random , time , sys , os模块部分知识.
1.常用模块:(1)collectiaons模块 (2)与时间相关 time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json , pickle 2 ...
- atitit 商业项目常用模块技术知识点 v3 qc29
atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化
生成器 在Python中,一边循环一边计算的机制,称为生成器:generator. 如: >>> g = (x * x for xin range(10)) >>> ...
- 进击的Python【第五章】:Python的高级应用(二)常用模块
Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...
- Python模块之常用模块,反射以及正则表达式
常用模块 1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...
- python学习笔记之常用模块(第五天)
参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...
- day--6_python常用模块
常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...
随机推荐
- Jenkins集群搭建
Jenkins的目的是加快CI/CD的步伐,集群的搭建也不是必须的,当一台服务器的构建速度受到限制下,可以考虑使用主从并发构建,来加快构建速度.作为一款超级管家的角色,Jenkins的资料非常多,Je ...
- 微信公众号开发C#系列-1、微信公众平台注册
微信公众号简介 微信公众号分为服务号.订阅号.企业号,订阅号可以个人申请,服务号和企业号要有企业资质才可以. 我们所说的微信公众号开发主要指的是公众号的账号类型,公众号的账号类型分为订阅号.服务号.企 ...
- 一次node-sass安装记录
node-sass的版本是3.9.3 Please restart this script from an administrative PowerShell! 在当前powershell中执行下命令 ...
- asp.net后台管理系统-登陆模块-路由权限控制_1
using System.Web.Routing; //重写System.Web.Routing中Initialize方法 protected override void Initialize(Req ...
- spring aop中pointcut表达式完整版
spring aop中pointcut表达式完整版 本文主要介绍spring aop中9种切入点表达式的写法 execute within this target args @target @with ...
- 倒计时5S秒自动关闭弹窗
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- asp.net core 自定义认证方式--请求头认证
asp.net core 自定义认证方式--请求头认证 Intro 最近开始真正的实践了一些网关的东西,最近写几篇文章分享一下我的实践以及遇到的问题. 本文主要介绍网关后面的服务如何进行认证. 解决思 ...
- 关于ORACLE数据库名以及数据实例名等几个重要概念
在Oracle中有关数据库和数据库实例的几个重要概念,有时候如果理解不是很深或者对其疏忽.混淆了,还真容易搞错或弄不清其概念,下面就数据库实例名.数据库名.数据库域名.数据库服务名.全局数据库名几个概 ...
- django csrf token添加
#views.py from django.shortcuts import render_to_response, RequestContext from django.views.decorato ...
- 微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异
微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异 前言:由于开发人员要靠工具吃饭,可能和开发工具.语言.环境呆的时间比和老婆孩子亲人在一起的时间还多,所以每个人或多 ...