- 公众号:人生只不过是一场投资
- 温馨提示:每个笔记文档都会绑定一个笔记资源;手机端可能看不到,网页端请自行下载。
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.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 = text | text :文本内容 |
知识点 | 函数/方法 | 参数说明 |
---|
写入 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 数据库交互的功能。常用场景:
知识点 | 函数/方法 | 参数说明 |
---|
连接数据库 | 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 文件 | 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() | 无参数 |
知识点 | 函数/方法 | 参数说明 |
---|
获取成员信息 | tarfile.TarFile.getmember(name) | name :成员名 |
获取所有成员 | tarfile.TarFile.getmembers() | 无参数 |
添加文件对象 | tarfile.TarFile.addfile(tarinfo, fileobj=None) | tarinfo :成员信息,fileobj :文件对象 |
28. zipfile 模块
zipfile
模块提供了对 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() | 无参数 |
知识点 | 函数/方法 | 参数说明 |
---|
获取成员信息 | 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 | 无参数 |