DAY18 常用模块(二)
一.随机数:RANDOM
1.(0,1)小数:random.random()
2.[1,10]整数:random.randint(1,10)
3.[1,10)整数:random.randrang(1,10)
4.(1,10)小数:random.uniform(1,10)
5.单列集合随机选择一个:random,choice(item)
6.单列集合随机选择n个:random.sample(item,n)
7.洗牌单列集合:random.shuffle(item)
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_code(6))
产生指定位数的验证码
二.可以操作权限的处理文件模块
1.基于路径的文件复制:shutil.copyfile('原文件','新文件')
2.基于流的文件复制:
with open('source_file','rb') as r,
open('target_file','rb') as w
shutil.copyfileeobj(r,w)
3.递归删除目标目录
shutil.rmtree('target_folder')
4.文件移动:
shutile.remove('old_file','new_file')
5.文件夹压缩
shutil.make_archive('file_name','format','achive_path')
6.文件夹解压
shutil.unpack_archive('unpack_file','unpack_name','format')
三.可以用字典存取数据到文件的序列化模块:shevle
1.将序列化文件操作dump与load进行封装
s_dic = shelve.open("target_file", writeback=True) # 注:writeback允许序列化的可变类型,可以直接修改值
2.序列化::存
s_dic['key1'] = 'value1'
s_dic['key2'] = 'value2'
3.反序列化:取
print(s_dic['key1'])
4.文件释放
s_dic.close()
四.标准输入输出错误流
sys.stdout.write('msg')
sys.stderr.write('msg')
msg = sys.stdin.readline()
注:print默认是对sys.stdout.write('msg') + sys.stdout.write('\n')的封装
格式化结束符print:print('msg', end='')
五.日志模块:logging
DAY18 常用模块(二)的更多相关文章
- 常用模块二(hashlib、configparser、logging)
阅读目录 常用模块二 hashlib模块 configparse模块 logging模块 常用模块二 返回顶部 hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SH ...
- python之常用模块二(hashlib logging configparser)
摘要:hashlib ***** logging ***** configparser * 一.hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法 ...
- python14 常用模块 二
一.json模块 强大:不同语言之间可以进行数据交换 序列化:把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serializati ...
- Python自动化开发 - 常用模块(二)
本节内容 1.shutil模块 2.shelve模块 3.xml处理模块 4.configparser模块 5.hashlib模块 6.subprocess模块 7.re模块 一.shutil模块 高 ...
- Python常用模块二
一.time & datetime #_*_coding:utf-8_*_ import time # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了t ...
- Python常用模块(二)
一.json与pickle json与pickle模块是为了完成数据的序列化. 序列化是指把对象(变量)从内存中变成可存储或传输的过程,在Python中叫picking,在其他语言中也由其他的叫法,但 ...
- python之路----常用模块二
collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...
- Python中常用模块二
一.hashlib (加密) hashlib:提供摘要算法的模块 1.正常的md5算法 import hashlib # 提供摘要算法的模块 md5 = hashlib.md5() md5.upd ...
- day18常用模块之re模块
简单认识正则表达式 正则测试工具:http://tool.chinaz.com/regex/ 元字符,单个字符匹配 . 匹配除换行符以外的任意字符 \w 匹配字母数字下划线(word) \s 匹配任意 ...
随机推荐
- unittest报告出现dict() -> new empty dictionary错误解决办法
unittest报告出现dict() -> new empty dictionary错误解决办法 说一下原因,这是由于unittest中采用了ddt驱动. 由于版本问题导致 问题如图: 解决办 ...
- c++ 程序崩溃生成Dump文件
#include "Windows.h"#include "DbgHelp.h" int GenerateMiniDump(PEXCEPTION_POINTER ...
- hi-nginx-1.4.9正式发布,支持javascript后端开发
hi-nginx-1.4.9已经发布. 更新: 支持javascript后端开发 修复脚本搜索的一个bug 从这一版开始,hi-nginx开始支持javascript,这意味着把javascript应 ...
- java多线程之AtomicLong与LongAdder
AtomicLong简要介绍 AtomicLong是作用是对长整形进行原子操作,显而易见,在java1.8中新加入了一个新的原子类LongAdder,该类也可以保证Long类型操作的原子性,相对于At ...
- 【数据结构】算法 LinkList (Merge Two Sorted Lists)
合并2个有序链表 list A, list B, Solution: 对A,B 表按序读取数据,比较大小后插入新链表C. 由于两个输入链表的长度可能不同,所以最终会有一个链表先完成插入所有元素,则直接 ...
- Git 教程(一):简介和安装
为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的 ...
- Simple Factory Pattern
Question: How do you achieve the functions of calculator by Object-Oriented ? Analysis: 1,The functi ...
- Hadoop Mapreduce 调优
- JVM进程启动会启动哪些线程?
首先要明白一点:JVM本身是一个多线程的程序,和我们编写的java应用程序一样,当JVM启动执行时就是在操作系统中启动了一个JVM进程.我们编写的java单线程或多线程应用进程都是在JVM这个程序中作 ...
- 通过浏览器F12开发工具快速获取别的网站前端代码的方法
通过浏览器F12开发工具快速获取别的网站前端代码的方法 说明:直接另存为网页是比较老的做法,会有很多没用的东西下载下来.通过F12开发工具,sources获取到的是比较好的,有目录结构的源文件.