【Python 标准库常用模块速览】

发布时间:2026/7/23 20:12:16
【Python 标准库常用模块速览】 文章目录Python 标准库常用模块速览 ✨1. os 和 os.path — 操作系统交互 ️代码示例功能特点2. sys — 系统相关参数和功能 ⚙️代码示例功能特点3. datetime — 日期和时间处理 ⏰代码示例功能特点4. json — JSON 数据编码和解码 代码示例功能特点5. re — 正则表达式 代码示例功能特点6. collections — 高级数据结构 代码示例功能特点7. random — 生成随机数 代码示例功能特点8. math — 数学函数 ➕➖✖️➗代码示例功能特点9. urllib — URL 处理和数据获取 代码示例功能特点10. sqlite3 — 轻量级数据库集成 代码示例功能特点11. logging — 日志记录 代码示例功能特点12. threading 和 multiprocessing — 并发执行 代码示例threading功能特点13. unittest — 单元测试框架 ✅代码示例功能特点模块关系图结语 Python 标准库常用模块速览 ✨Python 标准库是 Python 编程语言的核心组成部分它提供了丰富的内置模块帮助开发者高效地完成各种任务而无需额外安装第三方库。无论你是初学者还是经验丰富的开发者熟悉这些模块都能极大提升你的编程效率。本文将带你快速浏览一些最常用和实用的标准库模块并通过代码示例和图表展示它们的强大功能。1.os和os.path— 操作系统交互 ️os模块提供了与操作系统交互的接口允许你执行文件操作、进程管理以及其他系统相关任务。os.path模块则专门用于处理文件路径。代码示例importos# 获取当前工作目录current_diros.getcwd()print(f当前目录:{current_dir})# 列出目录下的所有文件和文件夹contentsos.listdir(.)print(f目录内容:{contents})# 检查路径是否为文件is_fileos.path.isfile(example.txt)print(f是文件吗?{is_file})# 使用 os.path 拼接路径new_pathos.path.join(folder,subfolder,file.txt)print(f拼接后的路径:{new_path})功能特点文件和目录操作创建、删除、重命名。环境变量访问和管理。执行系统命令。官方文档链接https://docs.python.org/3/library/os.html2.sys— 系统相关参数和功能 ⚙️sys模块允许你访问与 Python 解释器相关的变量和函数例如命令行参数、模块搜索路径和解释器版本。代码示例importsys# 获取命令行参数argssys.argvprint(f命令行参数:{args})# 查看 Python 版本versionsys.versionprint(fPython 版本:{version})# 退出程序iflen(args)2:print(缺少参数退出程序。)sys.exit(1)功能特点处理命令行参数。控制程序退出。动态修改模块加载行为。官方文档链接https://docs.python.org/3/library/sys.html3.datetime— 日期和时间处理 ⏰datetime模块提供了处理日期和时间的类功能强大且易于使用。代码示例fromdatetimeimportdatetime,timedelta# 获取当前日期和时间nowdatetime.now()print(f当前时间:{now})# 格式化日期输出formattednow.strftime(%Y-%m-%d %H:%M:%S)print(f格式化时间:{formatted})# 计算未来日期future_datenowtimedelta(days7)print(f一周后的日期:{future_date})功能特点日期和时间的创建、格式化和计算。时区支持通过pytz等第三方库增强。官方文档链接https://docs.python.org/3/library/datetime.html4.json— JSON 数据编码和解码 json模块用于处理 JSON 格式的数据支持编码Python 对象到 JSON和解码JSON 到 Python 对象。代码示例importjson# Python 字典转换为 JSON 字符串data{name:Alice,age:30,hobbies:[reading,hiking]}json_strjson.dumps(data,indent4)print(JSON 字符串:)print(json_str)# JSON 字符串解析为 Python 对象parsed_datajson.loads(json_str)print(f解析后的姓名:{parsed_data[name]})功能特点支持标准 JSON 编码和解码。可处理文件输入输出。官方文档链接https://docs.python.org/3/library/json.html5.re— 正则表达式 re模块提供了正则表达式功能用于强大的文本搜索、匹配和替换。代码示例importre# 匹配邮箱地址text联系我: aliceexample.com 或 bobdomain.orgpatternr\b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\bemailsre.findall(pattern,text)print(f找到的邮箱:{emails})# 替换文本new_textre.sub(pattern,[邮箱隐藏],text)print(f替换后:{new_text})功能特点复杂的模式匹配和提取。文本清洗和验证。官方文档链接https://docs.python.org/3/library/re.html6.collections— 高级数据结构 collections模块提供了多种有用的数据结构如defaultdict、Counter和deque扩展了内置容器的功能。代码示例fromcollectionsimportdefaultdict,Counter,deque# 使用 defaultdict 避免 KeyErrorword_countdefaultdict(int)words[apple,banana,apple,cherry]forwordinwords:word_count[word]1print(f单词计数:{dict(word_count)})# 使用 Counter 快速计数countedCounter(words)print(fCounter 结果:{counted})# 使用 deque 实现高效队列queuedeque([1,2,3])queue.append(4)queue.popleft()print(f队列状态:{queue})功能特点优化性能的专用数据结构。简化常见编程任务。官方文档链接https://docs.python.org/3/library/collections.html7.random— 生成随机数 random模块用于生成随机数、随机选择和其他随机化操作。代码示例importrandom# 生成随机整数numrandom.randint(1,100)print(f随机整数:{num})# 随机选择列表元素items[苹果,香蕉,樱桃]choicerandom.choice(items)print(f随机选择:{choice})# 打乱列表顺序random.shuffle(items)print(f打乱后:{items})功能特点多种分布下的随机数生成。随机抽样和排列。官方文档链接https://docs.python.org/3/library/random.html8.math— 数学函数 ➕➖✖️➗math模块提供了常见的数学函数和常数适用于科学计算和工程应用。代码示例importmath# 计算平方根sqrt_valmath.sqrt(25)print(f25 的平方根:{sqrt_val})# 使用常数 πareamath.pi*(3**2)print(f半径为 3 的圆面积:{area:.2f})# 对数计算log_valmath.log(100,10)print(flog10(100) {log_val})功能特点三角函数、指数、对数等高级数学运算。提供常用数学常数。官方文档链接https://docs.python.org/3/library/math.html9.urllib— URL 处理和数据获取 urllib模块用于处理 URL 和进行网络请求是进行简单 HTTP 操作的便捷工具。代码示例fromurllib.requestimporturlopenfromurllib.parseimporturlencode# 发送 GET 请求withurlopen(https://httpbin.org/json)asresponse:dataresponse.read().decode(utf-8)print(GET 响应示例:)print(data[:200])# 输出前200字符# 构建带参数的 URLparamsurlencode({q:Python,page:1})urlfhttps://httpbin.org/get?{params}print(f构建的 URL:{url})功能特点URL 解析和编码。简单的 HTTP 客户端功能。官方文档链接https://docs.python.org/3/library/urllib.html10.sqlite3— 轻量级数据库集成 sqlite3模块提供了对 SQLite 数据库的接口SQLite 是一个轻量级的磁盘文件数据库。代码示例importsqlite3# 连接数据库如果不存在则创建connsqlite3.connect(example.db)cursorconn.cursor()# 创建表cursor.execute(CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER))# 插入数据cursor.execute(INSERT INTO users (name, age) VALUES (?, ?),(Alice,30))conn.commit()# 查询数据cursor.execute(SELECT * FROM users)rowscursor.fetchall()print(用户数据:)forrowinrows:print(row)# 关闭连接conn.close()功能特点无需服务器单文件数据库。支持标准 SQL 语法。官方文档链接https://docs.python.org/3/library/sqlite3.html11.logging— 日志记录 logging模块提供了灵活的日志记录系统适用于调试和监控应用程序。代码示例importlogging# 配置日志logging.basicConfig(levellogging.INFO,format%(asctime)s - %(levelname)s - %(message)s)# 记录不同级别的日志logging.debug(这是一条调试信息)# 不会输出因为级别是 INFOlogging.info(程序正常运行)logging.warning(警告资源不足)logging.error(发生错误)功能特点多级别日志记录DEBUG, INFO, WARNING, ERROR, CRITICAL。输出到文件、控制台或其他目标。官方文档链接https://docs.python.org/3/library/logging.html12.threading和multiprocessing— 并发执行 threading模块用于线程-based 并发而multiprocessing用于进程-based 并发帮助利用多核 CPU。代码示例threadingimportthreadingimporttimedeftask(name,delay):time.sleep(delay)print(f任务{name}完成)# 创建并启动线程thread1threading.Thread(targettask,args(A,2))thread2threading.Thread(targettask,args(B,1))thread1.start()thread2.start()thread1.join()thread2.join()print(所有线程完成)功能特点简化并发编程。避免 GIL 限制使用 multiprocessing。官方文档链接https://docs.python.org/3/library/threading.html13.unittest— 单元测试框架 ✅unittest模块是 Python 的标准单元测试框架支持测试自动化、共享设置和清理代码。代码示例importunittestdefadd(a,b):returnabclassTestMathFunctions(unittest.TestCase):deftest_add(self):self.assertEqual(add(2,3),5)self.assertEqual(add(-1,1),0)if__name____main__:unittest.main()功能特点组织测试用例和套件。生成测试报告。官方文档链接https://docs.python.org/3/library/unittest.html模块关系图以下 Mermaid 图表展示了部分常用模块之间的关联和类别Python 标准库系统交互数据处理网络与IO并发与测试os os.pathsysdatetimejsonreurllibsqlite3threadingunittest结语 Python 标准库是每个 Python 开发者必须掌握的工具箱。通过本文的速览希望你对其中的常用模块有了更深入的了解并能在实际项目中灵活运用。记得查阅官方文档以获取更详细的信息和高级用法如果你对某个模块特别感兴趣可以访问 Python 官方文档进一步学习https://docs.python.org/3/library/index.htmlHappy Coding!