python内置模块
time--时间模块
时间三大类:
- 时间戳 time.time()
- 结构化时间(年月日时分秒 一周内第几天,一年内第几天,是否夏令时) time.localtime() time.gmtime()
- 格式化时间 time.strftime('%Y-%m-%d %X %p')
时间戳与结构化时间可以互相转换
结构化时间与格式化时间可以互相转换
datetime 日期时间模块(datetime包中有datetime模块)
方法
- datetime.datetime.now() 获取当前时间
- datetime.datetime.now().hour() 获取部分时间
- datetime.datetime.now().replace(year = 1999) 替换部分时间
sys 解释器模块
方法
- sys.path 环境变量 sys.path.append(路径)添加环境变量
- sys.modules 查看已加载的模块
- sys.argv 获取终端传入的参数(列表)
- sys.version 查看解释器版本
- sys.platform 查看平台名称
- sys.exit() 退出
os 操作系统模块
os:
- os.getcwd() 获取当前工作目录
- os.chdir(目录路径) 改变工作目录
- os.curdir 当前目录 .
- os.pardir 上级目录 ..
- 掌握os.makedirs(目录路径) 创建目录
- os.mkdir(目录名称) 创建单个目录
- os.removedirs(目录路径) 递归删除
- os.rmdir(目录名称) 删除单个目录
- os.remove(文件路径) 删除文件
- os.listdir(文件夹路径) 获取所有文件和文件夹名称
*os.path:
- os.path.abspath(文件相对路径) 返回绝对路径
- os.path.split(文件路径) 将路径拆分为文件夹路径和文件名称两部分
- os.path.dirname(__file__) 获取文件所在文件夹的路径
- os.path.basename(文件路径) 获取路径最后一级名称
- os.path.exists(路径) 判断该路径是否存在
- os.path.isabs(路径) 判断是否是绝对路径
- os.path.join('c:\\','xx') 将对个名称拼接为路径
- os.path.getsize('文件路径') 输出文件字节数
- os.path.normcase('路径') 路径规范化 大学变小写 斜杠统一
random 随机模块
方法:
- random.random() 0-1的随机浮点数(不包括1)
- random.randint(x,y) x-y的随机整数
- random.randrange(x,y) x-y的随机整数(不包括y)
- random.uniform(x,y) x-y的随机浮点数
- random.sample(list,x) 在列表中随机取x个值
- random.shuffle(list) 将列表中的值打乱顺序(动作)
- random.choice(list) 在列表中随机取1个值
- random.choices(list,k=x) 在列表中随机取 x个值 并放入新列表中
shutil 高级文件操作模块
方法
- shutil.copyfileobj(复制文件名,新文件名) 拷贝文件
- shutil.make_archive(要压缩的文件名,压缩格式 ,压缩文件放的路径) 压缩文件
- shutil.unpack_archive(压缩文件的路径) 解压缩文件
序列化模块:
序列化是指将内存中的数据结构转化为一种中间格式并储存在硬盘上
反序列化是将中间格式还原为内存中的数据结构
序列化模块可以更加方便的将数据存入硬盘
1.pickle python专用序列化模块(支持python所有数据类型)
方法:
- dumps 序列化
- loads 反序列化
- dump 封装了write和read更加方便
- load
序列化
user = {}
with open('db.pkl','ab') as f:
x = pickle.dumps(user)
f.write(x)
with open('db.pkl','rb') as f:
pickle.dump(user,f)
with open as f:
pickle.loads(f.read())
pickle.load(f)
2.shelve python专用序列化模块(支持python所有数据类型)
shelve方法不需要关心文件模式
序列化
user = {}
s = shelve.open('db.shv') #打开文件
s['user'] = user
s.close()
反序列化
s = shelve.open('db.shv',writeback=True)
x = s['user']
print(x)
s.close()
3.json 通用序列化模块
json是一种通用的数据格式
js 中的数据类型 python数据类型 的对应关系
{} 字典
[] list
string "" str
int/float int/float
true/false True/False
null None
json格式x.json:
user=
{
"users": [{
"name": "agon",
"age": 68
},
{
"name": "agon",
"age": 68
}
]
}
方法:
dumps
loads
dump
load
序列化
with open('db.json','wt',encoding='utf-8') as f:
f.write(json.dumps(user))
反序列化
with open(''db.json,'rt',encoding='utf-8') as f:
user = json.loads(read())
4.xml 比较旧的通用序列化模块
xml格式a.xml:
<标签>
<标签>
<标签>内容</标签>
</标签>
</标签>
可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标
签。这种语法是在⼤于符号之前紧跟一个斜线(/)
解析器会将其翻译成<百度百科词条></百度百科词条>。
例例如<百度百科词条/>。
方法
form xml.etree import ElementTree as ET
- ETree = ET.parse('db.xml') 解析xml文件
- root = ETree.getroot() 获取根标签
- for item in root.iter(标签名) 获取标签的方式1
- root.find(标签名).attrib 获取标签的方式2
- rootTree.findall(标签名) 获取标签的方式3
- item.tag 标签名称
- item.attrib 标签属性
- item.text 文本内容
- root.find(标签).get(标签) 获取单个属性
- root.remove 删除子标签
- 添加子标签
tag = ElementTree.Element(‘标签’,{‘属性’,‘值’})
root.append(tag)
ETree.write(''db.xml',encoding='utf-8')
configparser 配置文件模块
配置文件是包含配置程序信息的文件
需要改但不经常改的信息为配置信息
配置文件中有两种内容
section 分区和option 选项
- config = configparser.ConfigParser() 创建一个解析器
- config.read('db.cfg',encoding='utf-8') 解析
- config.sections() 获取所有分区名
- config.option() 获取所有选项名
- config.get(分区,选项) 获取选项的值(返回字符串)
- config.getint() 获取值(返回int类型)
- config.has_section() 判断是否有该分区
- config.has_option() 判断是否有该选项
- config.add_section() 添加分区
- config.set(分区,选项,值) 修改值
- config.remove_option() 删除选项
logging 日志文件模块
日志配置文件组成部分
日志生成器 logger(调用书写日志的配置文件,关联处理器)
过滤器 filter()
处理器 handler(将信息打印到相应的日志文件,关联格式处理器)
格式处理器 formatter(将信息格式化)
默认级别30 级别大于30日志才显示
logging.debug() 写入调试信息10
logging.info() 普通消息20
logging.warning() 警告30
logging.error() 错误40
logging.critical() 严重错误50
mylog = logging.getLogger(日志生成器) 创建(获取)日志生成器
mylog.setLevel(10) 设置生成器级别
fh = logging.FileHandler(日志名,encoding) 创建一个日志处理器
fm = logging.Formatter(格式)
logging.config.dictConfig() 解析日志配置文件
将mylog,fh,fm关联
mylog.addHandler(fh)
fh.setformatter(fm)
日志继承值propagate默认True True为继承False为不继承
mylog.propagate = Flase
流处理器StreamHandler()让格式化信息显示在控制台
logging.StreamHandler()
%(name)s:Logger的名字,并非用户名,详细查看 %(levelno)s:数字形式的日志级别 %(levelname)s:文本形式的日志级别 %(pathname)s:调用日志输出函数的模块的完整路径名,可能没有 %(filename)s:调用日志输出函数的模块的文件名 %(module)s:调用日志输出函数的模块名 %(funcName)s:调用日志输出函数的函数名 %(lineno)d:调用日志输出函数的语句所在的代码行 %(created)f:当前时间,用UNIX标准的表示时间的浮 点数表示 %(relativeCreated)d:输出日志信息时的,自Logger创建以 来的毫秒数 %(asctime)s:字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒 %(thread)d:线程ID。可能没有 %(threadName)s:线程名。可能没有 %(process)d:进程ID。可能没有 %(message)s:用户输出的消息
hashlib hash算法加密模块
hash算法是将一个任意长度的数据根据hash算法计算得到一个固定长度的特征码
h = hashlib.md5(‘123’.encode(‘utf-8’)) md5加密(32位特征码)
hashlib.sha512() sha512加密(128位特征码)
h.hexdigest() 获取特征码
加盐
hashlib.md5('123'.encode(utf-8)).update('asdfghjkl'.encode(utf-8))
re--匹配字符串模块(正则表达式)
正则表达式-- 由一些带有特殊意义的符号组成的式子,可以处理字符串
[\u4e00-\u9fa5] 匹配中文
re.findall(正则,待匹配字符串) 匹配字符串
re.match() 匹配字符串开头 只匹配一个 返回一个对象 .group()可以获取字符串
re.search() 全范围匹配 只匹配一个
re.compile(\d{3}) 将正则表达式编译成一个对象,之后可以不用在写表达式直接开始匹配
re.split() 可以用正则表达式分隔字符串
subprocess--子进程模块
res = subprocess.Popen() 封装
subprocess.call() 打开子进程
res.kill() 关闭子进程
python内置模块的更多相关文章
- python内置模块(4)
这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...
- Python学习笔记【第八篇】:Python内置模块
什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说 ...
- Python内置模块与标准库
Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. ...
- python内置模块[re]
python内置模块[re] re模块: python的re模块(Regular Expression正则表达式)提供各种正则表达式的匹配操作,在文本解析.复杂字符串分析和信息提取时是一个非常有用的工 ...
- python内置模块[sys,os,os.path,stat]
python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...
- Python内置模块和第三方模块
1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...
- python内置模块collections介绍
目录 python内置模块collections介绍 1.namedtuple 2.deque 3.defaultdict 4.OrderedDict 5.ChainMap 6.Counter 7.小 ...
- python内置模块介绍(一)
本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd() ...
- python内置模块(time模块)
常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...
- python 内置模块续(二)
目录 python 内置模块补充 1.hashlib模块 简易使用: 高级使用: 进阶使用: 加盐处理: 校验文件一致性 2.logging日志模块 日志等级 常用处理 "四大天王" ...
随机推荐
- MyCat安装配置
Mycat : 数据库分库分表中间件 http://www.mycat.io/ mycat运行需要JVM,所以先安装java环境,JDK1.7以上.数据库采用mysql5.7,或者8.0 下载 下载地 ...
- 深入理解java虚拟机---3垃圾回收机制GC
本文来源于翁舒航的博客,点击即可跳转原文观看!!!(被转载或者拷贝走的内容可能缺失图片.视频等原文的内容) 若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cn ...
- Shiro眼皮下玩ajax,玩出302 Found
2017/06/14这一天,是我玩Shiro安全框架最刻骨铭心的一天.因为Shiro今天给我深深的补了一刀,在这儿我也给各位补一刀吧,其实问题很简单,解决方式也极其简单,只是给各位分享一下这个错误,纯 ...
- 常系数线性递推的第n项及前n项和 (Fibonacci数列,矩阵)
(一)Fibonacci数列f[n]=f[n-1]+f[n-2],f[1]=f[2]=1的第n项的快速求法(不考虑高精度). 解法: 考虑1×2的矩阵[f[n-2],f[n-1]].根据fibon ...
- RocketMQ 主从同步机制
主从同步(HA 高可用) 主从同步原理: 为了保证系统的高可用,消息到达主服务器后,需要将消息同步到从服务器.如果主服务器宕机,消费者可用从从服务器拉取消息. 大体步骤: 1.主服务器启动,监听从服务 ...
- Centos 7 安装后设置
1.宽带连接 终端: nm-connection-editor 添加:DSL 另外一篇:Centos7宽带连接 2.输入法设置 设置-->区域和语言--> + -->搜索chines ...
- Java Spring学习笔记----Bean的依赖注入(设值注入方式)1
Spring常用的两种依赖注入方式:一种是设值注入方式,利用Bean的setter方法设置Bean的属性值:另一种是构造注入,通过给Bean的构造方法传递参数来实现Bean的属性赋值: 1.设值注入方 ...
- PDO中的事务处理
基本原理和步骤其实都是一样的(可参看上一篇“MySQL的事务处理”),PDO中的事务处理就是调用PDO对象的三个方法: 开启事务:beginTransaction 回滚操作:rollBack 执行操作 ...
- 关于animation的一些简单基础和使用方法记载
第一次写博客,只是单纯的想把我自己的一些心得和使用过的css3的animation的一些方法记录和总结,方便下次使用,我写的这些都是刚入门适合做一些简单的动画动作,过于复杂的还有待发掘或者使用别的方法 ...
- 活字格Web应用平台学习笔记 7 - 导出 Excel
活字格一直强调和Excel的兼容,可以导入导出Excel,今天终于学到这一课了. 课程目标: 好吧,就是这么快,已经加了一个“导出到Excel”的按钮了 我以为多高深呢,原来人家都给写好逻辑了,直接选 ...