Python 常用标准库模块 3

  • 公众号:人生只不过是一场投资
  • 温馨提示:每个笔记文档都会绑定一个笔记资源;手机端可能看不到,网页端请自行下载。

21. hashlib 模块

hashlib 模块提供了哈希算法的实现。常用场景:

  • 数据加密
  • 数据完整性校验
知识点函数/方法参数说明
创建哈希对象hashlib.new(name, data=b'')name:哈希算法名称,data:初始数据(可选)
更新哈希对象hash.update(data)data:要更新的数据
获取哈希值hash.hexdigest()无参数
  • 常用哈希算法:提供更多哈希算法。
知识点函数/方法参数说明
MD5 哈希hashlib.md5(data=b'')data:初始数据(可选)
SHA1 哈希hashlib.sha1(data=b'')data:初始数据(可选)
SHA256 哈希hashlib.sha256(data=b'')data:初始数据(可选)

22. base64 模块

base64 模块提供了 Base64 编码和解码功能。常用场景:

  • 数据编码
  • 数据解码
知识点函数/方法参数说明
编码数据base64.b64encode(s, altchars=None)s:要编码的数据,altchars:替代字符(可选)
解码数据base64.b64decode(s, altchars=None, validate=False)s:要解码的数据,altchars:替代字符(可选),validate:是否验证输入
  • 其他编码方式:提供更多编码方式。
知识点函数/方法参数说明
URL 安全编码base64.urlsafe_b64encode(s)s:要编码的数据
URL 安全解码base64.urlsafe_b64decode(s)s:要解码的数据

23. xml.etree.ElementTree 模块

xml.etree.ElementTree 模块提供了处理 XML 数据的功能。常用场景:

  • 解析 XML 数据
  • 创建 XML 数据
知识点函数/方法参数说明
解析 XML 文件xml.etree.ElementTree.parse(source, parser=None)source:文件名或文件对象,parser:解析器(可选)
解析 XML 字符串xml.etree.ElementTree.fromstring(text, parser=None)text:XML 字符串,parser:解析器(可选)
创建元素xml.etree.ElementTree.Element(tag, attrib={}, **extra)tag:元素标签,attrib:属性字典,**extra:额外属性
添加子元素element.append(subelement)subelement:子元素
获取元素文本element.text无参数
设置元素文本element.text = texttext:文本内容
  • 其他 XML 操作:提供更多 XML 操作功能。
知识点函数/方法参数说明
写入 XML 文件tree.write(file, encoding="us-ascii", xml_declaration=None, default_namespace=None, method="xml", short_empty_elements=True)file:文件名或文件对象,encoding:编码,xml_declaration:是否写入 XML 声明,default_namespace:默认命名空间,method:输出方法,short_empty_elements:是否使用短空元素
查找元素element.find(path)path:元素路径
查找所有元素element.findall(path)path:元素路径
获取元素属性element.get(key, default=None)key:属性名,default:默认值(可选)
设置元素属性element.set(key, value)key:属性名,value:属性值

24. sqlite3 模块

sqlite3 模块提供了与 SQLite 数据库交互的功能。常用场景:

  • 数据库连接
  • 执行 SQL 查询
知识点函数/方法参数说明
连接数据库sqlite3.connect(database, timeout=5.0, detect_types=0, isolation_level=None, check_same_thread=True, factory=sqlite3.Connection, cached_statements=100, uri=False)database:数据库文件名,timeout:超时时间,detect_types:类型检测,isolation_level:隔离级别,check_same_thread:是否检查同一线程,factory:连接工厂,cached_statements:缓存语句数,uri:是否使用 URI
创建游标connection.cursor()无参数
执行 SQL 语句cursor.execute(sql, parameters=())sql:SQL 语句,parameters:参数元组
提交事务connection.commit()无参数
回滚事务connection.rollback()无参数
关闭连接connection.close()无参数
  • 查询结果操作:处理查询结果集。
知识点函数/方法参数说明
获取单行结果cursor.fetchone()无参数
获取所有结果cursor.fetchall()无参数
获取多行结果cursor.fetchmany(size)size:要获取的行数

25. shutil 模块

shutil 模块提供了高级的文件操作功能。常用场景:

  • 文件复制
  • 文件和目录操作
知识点函数/方法参数说明
复制文件shutil.copy(src, dst)src:源文件路径,dst:目标文件路径
复制文件并保留元数据shutil.copy2(src, dst)src:源文件路径,dst:目标文件路径
复制目录shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False)src:源目录路径,dst:目标目录路径,symlinks:是否复制符号链接,ignore:忽略函数,copy_function:复制函数,ignore_dangling_symlinks:是否忽略悬挂的符号链接
删除文件shutil.rmtree(path, ignore_errors=False, onerror=None)path:目录路径,ignore_errors:是否忽略错误,onerror:错误处理函数
移动文件或目录shutil.move(src, dst)src:源路径,dst:目标路径
  • 磁盘操作:提供更多磁盘操作功能。
知识点函数/方法参数说明
获取磁盘使用情况shutil.disk_usage(path)path:路径
创建归档文件shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=False, owner=None, group=None, logger=None)base_name:归档文件名,format:归档格式,root_dir:根目录,base_dir:基础目录,verbose:详细模式,dry_run:模拟运行,owner:所有者,group:组,logger:日志记录器

26. gzip 模块

gzip 模块提供了对文件进行 gzip 压缩和解压缩的功能。常用场景:

  • 文件压缩
  • 文件解压缩
知识点函数/方法参数说明
打开 gzip 文件gzip.open(filename, mode='rb', compresslevel=9, encoding=None, errors=None, newline=None)filename:文件名,mode:打开模式,compresslevel:压缩级别,encoding:编码,errors:错误处理,newline:换行符
压缩数据gzip.compress(data, compresslevel=9)data:要压缩的数据,compresslevel:压缩级别
解压缩数据gzip.decompress(data)data:要解压缩的数据
  • 文件对象操作:提供更多文件对象操作功能。
知识点函数/方法参数说明
读取数据file.read(size=-1)size:要读取的字节数(可选)
写入数据file.write(data)data:要写入的数据
关闭文件file.close()无参数

27. tarfile 模块

tarfile 模块提供了对 tar 压缩包的处理功能。常用场景:

  • 创建 tar 包
  • 解压 tar 包
知识点函数/方法参数说明
打开 tar 文件tarfile.open(name=None, mode='r', fileobj=None, bufsize=10240, **kwargs)name:文件名,mode:打开模式,fileobj:文件对象,bufsize:缓冲区大小,**kwargs:其他参数
创建 tar 包tarfile.TarFile.add(name, arcname=None, recursive=True, exclude=None, filter=None)name:要添加的文件或目录,arcname:归档名,recursive:是否递归,exclude:排除函数,filter:过滤函数
解压 tar 包tarfile.TarFile.extractall(path=".", members=None, numeric_owner=False)path:解压路径,members:要解压的成员,numeric_owner:是否使用数字所有者
列出 tar 包内容tarfile.TarFile.list(verbose=True, members=None)verbose:是否详细显示,members:要列出的成员
关闭 tar 文件tarfile.TarFile.close()无参数
  • 成员操作:提供更多 tar 包成员操作功能。
知识点函数/方法参数说明
获取成员信息tarfile.TarFile.getmember(name)name:成员名
获取所有成员tarfile.TarFile.getmembers()无参数
添加文件对象tarfile.TarFile.addfile(tarinfo, fileobj=None)tarinfo:成员信息,fileobj:文件对象

28. zipfile 模块

zipfile 模块提供了对 zip 压缩包的处理功能。常用场景:

  • 创建 zip 包
  • 解压 zip 包
知识点函数/方法参数说明
打开 zip 文件zipfile.ZipFile(file, mode='r', compression=ZIP_STORED, allowZip64=True)file:文件名或文件对象,mode:打开模式,compression:压缩方式,allowZip64:是否支持 Zip64 格式
创建 zip 包zipfile.ZipFile.write(filename, arcname=None, compress_type=None, compresslevel=None)filename:要添加的文件,arcname:归档名,compress_type:压缩类型,compresslevel:压缩级别
解压 zip 包zipfile.ZipFile.extractall(path=None, members=None, pwd=None)path:解压路径,members:要解压的成员,pwd:密码
列出 zip 包内容zipfile.ZipFile.namelist()无参数
关闭 zip 文件zipfile.ZipFile.close()无参数
  • 成员操作:提供更多 zip 包成员操作功能。
知识点函数/方法参数说明
获取成员信息zipfile.ZipFile.getinfo(name)name:成员名
读取成员数据zipfile.ZipFile.read(name, pwd=None)name:成员名,pwd:密码
流式读取成员数据zipfile.ZipFile.open(name, mode='r', pwd=None, *, force_zip64=False)name:成员名,mode:打开模式,pwd:密码,force_zip64:是否强制使用 Zip64 格式

29. tempfile 模块

tempfile 模块提供了创建临时文件和目录的功能。常用场景:

  • 创建临时文件
  • 创建临时目录
知识点函数/方法参数说明
创建临时文件tempfile.TemporaryFile(mode='w+b', buffering=-1, encoding=None, newline=None, suffix=None, prefix=None, dir=None)mode:打开模式,buffering:缓冲区大小,encoding:编码,newline:换行符,suffix:文件后缀,prefix:文件前缀,dir:目录
创建命名临时文件tempfile.NamedTemporaryFile(mode='w+b', buffering=-1, encoding=None, newline=None, suffix=None, prefix=None, dir=None, delete=True)mode:打开模式,buffering:缓冲区大小,encoding:编码,newline:换行符,suffix:文件后缀,prefix:文件前缀,dir:目录,delete:关闭时是否删除
创建临时目录tempfile.TemporaryDirectory(suffix=None, prefix=None, dir=None)suffix:目录后缀,prefix:目录前缀,dir:父目录
  • 临时文件路径:提供更多临时文件路径操作功能。
知识点函数/方法参数说明
获取临时目录路径tempfile.gettempdir()无参数
获取临时文件路径tempfile.mkstemp(suffix=None, prefix=None, dir=None, text=False)suffix:文件后缀,prefix:文件前缀,dir:目录,text:是否以文本模式打开
获取临时目录路径tempfile.mkdtemp(suffix=None, prefix=None, dir=None)suffix:目录后缀,prefix:目录前缀,dir:父目录

30. calendar 模块

calendar 模块提供了与日历相关的操作功能。常用场景:

  • 生成日历
  • 日期计算
知识点函数/方法参数说明
生成文本日历calendar.TextCalendar(firstweekday=0)firstweekday:一周的第一天(0 表示星期一)
生成 HTML 日历calendar.HTMLCalendar(firstweekday=0)firstweekday:一周的第一天(0 表示星期一)
判断闰年calendar.isleap(year)year:年份
获取某月的天数calendar.monthrange(year, month)year:年份,month:月份
获取某年的日历calendar.calendar(year, w=2, l=1, c=6, m=3)year:年份,w:日期宽度,l:行数,c:列数,m:每行月份数
  • 日期迭代器:提供更多日期迭代功能。
知识点函数/方法参数说明
月日期迭代器calendar.Calendar.itermonthdates(year, month)year:年份,month:月份
月工作日迭代器calendar.Calendar.itermonthdays2(year, month)year:年份,month:月份
月天数迭代器calendar.Calendar.itermonthdays(year, month)year:年份,month:月份

31. time 模块

time 模块提供了与时间相关的操作功能。常用场景:

  • 获取当前时间
  • 时间格式化
知识点函数/方法参数说明
获取当前时间time.time()无参数
获取本地时间time.localtime(secs=None)secs:秒数(可选)
获取 UTC 时间time.gmtime(secs=None)secs:秒数(可选)
时间格式化time.strftime(format, t=None)format:格式字符串,t:时间元组(可选)
解析时间字符串time.strptime(string, format)string:时间字符串,format:格式字符串
  • 时间操作:提供更多时间操作功能。
知识点函数/方法参数说明
睡眠time.sleep(secs)secs:睡眠时间(秒)
计算 CPU 时间time.process_time()无参数
获取时区偏移time.timezone无参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ょ镜花う水月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值