设为首页 加入收藏

TOP

python 常用的标准库
2019-08-15 00:07:19 】 浏览:14
Tags:python 常用 标准

 

glob模块   提供了一个函数,用于匹配符合要求的文件:

import glob
list=glob.glob("*.py")  #匹配当前目录下的所有匹配的文件名(包括后缀),以字符串列表的形式返回
print(list)  #['test.py', 'test2.py']

 

 

 

re模块   字符串正则匹配

import re
list=re.findall(r"\bh","hi hello his")  #获取所有符合要求的匹配,以字符串列表的形式返回
print(list)  #['h', 'h', 'h']

str=re.sub(r"\bh","H","hi hello his")  #用第二个字符串替换第一个正则表达式匹配到的所有子串。字符串不可变,以副本形式返回。
print(str)  #Hi Hello His

 

 

 

datetime模块   日期时间

from datetime import date
now=date.today()
print(now)  #2019-08-07,这是默认的格式

print(now.strftime("%Y.%m.%d"))     #2019.08.07  格式化时间日期,返回的是时间日期对象对应的字符串

# print(now.strftime("%Y年%m月%d日"))   #这句代码会报错,年月日时分秒是此模块的关键字词,不能直接写

print(now.strftime('%Y{}%m{}%d{}').format("","",""))  #2019年08月07日,将返回的字符串格式化

birthday=date(2000,1,1)  #构造一个date对象,参数:年、月、日
print(birthday)   #2000-01-01

age=now-birthday
print(age)  #7158 days, 0:00:00
print(age.days)  #7158

 

 

 

格式化输出也可以这样用:

str="我是{},今年{}岁".format("张三",12)
print(str)  #我是张三,今年12岁

str="我是{name},今年{age}岁".format(name="张三",age=12)   #指定名称,根据名称来赋值
print(str)  #我是张三,今年12岁

 

 

 

数据压缩

支持数据打包、压缩的模块:zlib,gzip,bz2,zipfile,以及 tarfile。

 

压缩数据:

import zlib
data1=bytes("爱我中华爱我中华爱我中华爱我中华爱我中华","utf-8")
print(len(data1))  #60

data2=zlib.compress(data1)  #压缩数据,参数要是字节。参数不变,返回的是副本
print(len(data2))  #24

data3=zlib.decompress(data2)  #解压,参数不变,返回副本
print(len(data3))  #60
print(len(data2))  #24

 

 

压缩文件:

import zipfile
f = zipfile.ZipFile('1.zip', 'w',zipfile.ZIP_DEFLATED)
"""
调用zipfile模块的ZipFile类的构造函数,创建一个压缩文件对象
3个参数:压缩文件的文件名、读写权限、压缩类型
压缩要有写的权限,解压要有读的权限
压缩类型有2个常量值:ZIP_STORE(默认值,不压缩数据,大小不变),ZIP_DEFLATED(要压缩数据,文件尺寸变小)
"""

f.write("1.txt")  #压缩文件1.txt
f.write("1.mp3")  #压缩文件1.mp3
f.write('1.mp4"')  #压缩文件1.mp4
#就是说1.zip中有3个文件

f.close()

 


解压文件:

import zipfile
f=zipfile.ZipFile('1.zip')  #创建压缩文件对象,后2个参数均使用默认值(读+不压缩数据)
f.extractall("1")  #解压到文件夹1
f.close()


这些模块都具有多个方法,此处只是简略介绍下。



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python进阶编程 类与类的关系 下一篇Python 操作 MySQL 数据库

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目