Python康复训练——常用标准库

发布时间:2026/8/1 8:53:44

Python康复训练——常用标准库
装好 Python 就自带一套官方工具箱。这篇把最常用的几个标准库过一遍并把它串成 4 个能直接用的小工具。代码都来自实战片段路径注释标了出处照着敲就能跑。一、为什么要有标准库Python装完就自带一大堆功能模块叫标准库Standard Library。一个模块就是一个.py文件里面是一组相关函数/类把代码按逻辑拆开复用性和可维护性都上来了。它的三个硬优势零安装import即用不用pip部署到哪台机器都不会缺依赖。跨平台同一套os.path.join()在 Windows 和 Linux 上都能正确拼路径不用自己处理反斜杠。经过毒打标准库是千万项目磨出来的稳定性远超你自己手搓的轮子。判断原则能用标准库干净解决的先别急着引第三方库。除非像urllib标准库明显比requests第三方啰嗦这种明确场景。二、sys和解释器本身对话WHY当你想读命令行参数、强制退出程序、临时改模块搜索路径、或重定向标准流时找sys。它是你和 Python 解释器之间的后门。核心成员sys.argv命令行参数列表argv[0]是脚本名后面才是真正传进来的参数。sys.exit()主动退出程序可在参数里带退出信息。sys.path模块搜索路径列表往里append一个路径就能 import 到那里的模块。sys.stdin/sys.stdout/sys.stderr三个标准流错误信息走stderr才专业。# ch05-lib/Test01_sys.pyimportsys# 获取命令行参数iflen(sys.argv)1:print(f脚本名:{sys.argv[0]})print(f第一个参数:{sys.argv[1]})else:print(请提供命令行参数)# 添加模块路径sys.path.append(/path/to/my/modules)# 模块搜索路径print(sys.path)# 输出到标准错误sys.stderr.write(这是一个错误信息\n)# 退出程序# sys.exit(程序退出)命令行跑python Test01_sys.py a b c会依次打印脚本名、a以及拼接后的搜索路径。注意argv永远从脚本身开始取用户输入要从argv[1]起。三、os跨平台操作文件系统WHY文件/目录的增删查改、路径拼接、环境变量读取——凡是跟操作系统打交道的事别手写字符串路径交给os它在不同系统上自动适配分隔符。常用方法os.getcwd()/os.chdir(path)获取 / 切换当前工作目录。os.listdir(path)列出目录下所有条目。os.makedirs(path, exist_okTrue)递归建多层目录exist_ok防止重复建报错。os.path.join()跨平台路径拼接永远用它别手拼/或\。os.path.exists(path)判存在。os.environ环境变量字典。# ch05-lib/Test02_os.pyimportosprint(当前目录:,os.getcwd())# 创建目录exist_okTrue 避免重复运行报错os.makedirs(test_dir/sub_dir,exist_okTrue)# 列出当前目录文件filesos.listdir(.)print(文件列表:,files)# 路径拼接Windows/Linux 通吃file_pathos.path.join(test_dir,sub_dir,test.txt)print(完整路径:,file_path)# 检查文件是否存在再写入ifnotos.path.exists(file_path):withopen(file_path,w)asf:f.write(Hello, OS!)else:print(文件已存在)# 读取环境变量print(PATH:,os.environ.get(PATH))四、urllib标准库自带的 HTTP 客户端WHY不发网络请求也能跑的最小依赖。urllib能完成 GET/POST、URL 解析不引第三方包就能联网。真实项目里很多人换requests更简洁但懂urllib才看得懂那些老代码和报错。子模块分工urllib.request打开并读取 URL发请求。urllib.parse拼接 / 解析 URL 参数。urllib.error请求异常类。# ch05-lib/Test03_urllib.pyimporturllib.requestimporturllib.parse# 发送 GET 请求urlhttps://httpbin.org/getresponseurllib.request.urlopen(url)dataresponse.read().decode(utf-8)print(data)print(-*80)# 发送 POST 请求表单编码后用 Request 包装dataurllib.parse.urlencode({key:value}).encode(utf-8)requrllib.request.Request(https://httpbin.org/post,datadata)responseurllib.request.urlopen(req)print(response.read().decode(utf-8))print(-*80)# 解析 URLparsedurllib.parse.urlparse(https://example.com:8080/path?query1)print(parsed.scheme,parsed.netloc,parsed.path)小结urllib写起来比requests啰嗦GET 都要urlopenreaddecode三连但它零依赖。日常开发用requests更爽面试/读旧代码时urllib跑不掉。五、json程序与世界交换数据的通用语WHY配置文件、API 响应、前后端通信——JSON是工业标准。json模块负责在 Python 对象dict/list和 JSON 字符串之间互转。四个主力方法json.dumps(obj)Python 对象 → JSON 字符串。json.loads(s)JSON 字符串 → Python 对象。json.dump(obj, file)直接写进文件。json.load(file)从文件读并解析。# ch05-lib/Test04_json.pyimportjson# Python 对象转 JSON 字符串data{name:Alice,age:30,is_student:False}json_strjson.dumps(data,indent2,ensure_asciiFalse)print(json_str)# JSON 字符串转回 Python 对象data_backjson.loads(json_str)print(data_back)# 写入文件withopen(data.json,w,encodingutf-8)asf:json.dump(data,f,indent2,ensure_asciiFalse)# 从文件读取withopen(data.json,r,encodingutf-8)asf:loaded_datajson.load(f)print(loaded_data)JSON ↔ Python 类型对照表JSONPythonobjectdictarrayliststringstrnumber(int)intnumber(real)floattrueTruefalseFalsenullNone两个坑先记着dumps默认ensure_asciiTrue中文会被转成\uXXXX要中文正常显示必须传ensure_asciiFalsedump/load针对文件对象dumps/loads针对字符串别混。六、time 与 datetime两个时间模块怎么选WHY时间处理有两套工具分工明确——time底层、轻量基于Unix 时间戳1970-01-01 起的秒数。适合简单计时、sleep、时间戳获取。datetime面向对象封装了日期、时间、时间间隔。适合做日期加减、格式化输出、解析时间字符串。# ch05-lib/Test05_time.pyimporttimeprint(时间戳:,time.time())# 当前秒级时间戳nowtime.localtime()formattedtime.strftime(%Y-%m-%d %H:%M:%S,now)# 格式化为可读字符串print(格式化时间:,formatted)ttime.strptime(2021-04-03 10:00:00,%Y-%m-%d %H:%M:%S)# 解析回去print(解析后时间结构:,t)print(time.strftime(%H:%M:%S,time.localtime()))print(暂停 2 秒...)time.sleep(2)# 阻塞当前线程print(time.strftime(%H:%M:%S,time.localtime()))# ch05-lib/Test06_datetime.pyfromdatetimeimportdatetime,date,time,timedelta nowdatetime.now()print(现在:,now)dtdatetime(2021,4,3,15,30,0)print(指定时间:,dt)tomorrownowtimedelta(days1)# 日期加减靠 timedeltaprint(明天:,tomorrow)print(格式化:,now.strftime(%Y年%m月%d日 %H:%M:%S))parsed_dtdatetime.strptime(2021-04-03 15:40:00,%Y-%m-%d %H:%M:%S)print(解析时间:,parsed_dt)print(今天:,date.today())选择口诀要算差了几天/几小时用datetime.timedelta要打时间戳、计个时、睡两秒用time。七、argparse把命令行参数管起来WHY手动解析sys.argv容易漏边界、难校验类型。argparse自动生成--help、做类型转换、标记必填项专业命令行工具都靠它。# ch05-lib/Test07_argparse.pyimportargparse parserargparse.ArgumentParser(description一个示例程序)parser.add_argument(--name,typestr,requiredTrue,help你的名字)parser.add_argument(--age,typeint,default18,help年龄)parser.add_argument(--verbose,actionstore_true,help详细模式)parser.add_argument(filename,help文件名)# 位置参数无 -- 前缀argsparser.parse_args()print(f名字:{args.name})print(f年龄:{args.age})print(f文件名:{args.filename})ifargs.verbose:print(详细模式已开启)命令行python Test07_argparse.py info.txt --name lao8 --age 18 --verbose。注意filename是位置参数直接跟在后面--name/--age是可选参数--verbose是开关store_true出现即为 True。缺了requiredTrue的--nameargparse会直接报错退出并打印用法。小结标准库是 Python 自带的生产力工具箱——sys管解释器、os管文件系统、urllib管网络、json管数据交换、time/datetime管时间、argparse管命令行。记住三条路径永远用os.path.joinJSON 中文必带ensure_asciiFalse命令行参数优先用argparse而非手撕sys.argv。把这套用熟80% 的脚本类需求都能在标准库里解决不用急着装包。

相关新闻

MD编辑器文字转语音:技术文档智能朗读方案实现

MD编辑器文字转语音:技术文档智能朗读方案实现

2026/8/1 8:53:44

作为一名技术开发者,你有没有遇到过这样的场景:深夜调试代码时眼睛酸痛,却还要逐字检查技术文档;通勤路上想学习新框架,但盯着手机屏幕实在不方便;或者团队协作时,希望技术文档能有更生动的呈现…

Unity Motion Matching高效实现:从原理到实战的次世代动画系统构建

Unity Motion Matching高效实现:从原理到实战的次世代动画系统构建

2026/8/1 8:53:44

1. 项目概述:为什么说Motion Matching是游戏动画的未来? 如果你是一名Unity开发者,尤其是专注于角色动画和动作系统的,那么“Motion Matching”(运动匹配)这个词对你来说一定不陌生。它早已不是实验室里的概…

算力市场下半场:从资源租赁到服务化运营的转型策略

算力市场下半场:从资源租赁到服务化运营的转型策略

2026/8/1 8:53:44

算力市场这半年,最明显的变化是从“有资源就能赚钱”转向“会运营才能持续”。如果你上半年靠出租闲置算力或简单投资获得了收益,下半年可能要重新调整策略了。这篇文章不是预测市场走势,而是从实际参与者的角度,拆解当前算力供需…

3分钟上手!NBTExplorer:完全免费的Minecraft数据编辑器终极指南

3分钟上手!NBTExplorer:完全免费的Minecraft数据编辑器终极指南

2026/8/1 9:53:47

3分钟上手!NBTExplorer:完全免费的Minecraft数据编辑器终极指南 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否想过深入了解《我的世…

JetBrains IDE试用期重置终极指南:3步轻松恢复30天免费使用

JetBrains IDE试用期重置终极指南:3步轻松恢复30天免费使用

2026/8/1 9:53:47

JetBrains IDE试用期重置终极指南:3步轻松恢复30天免费使用 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否曾经在项目关键时刻遇到JetBrains IDE试用期到期而中断开发?ide-eval-res…

Gurobi优化求解器安装指南:从学术许可申请到Python环境配置

Gurobi优化求解器安装指南:从学术许可申请到Python环境配置

2026/8/1 9:53:47

1. 从“学术神器”到“商业利器”:为什么Gurobi值得你花时间安装如果你正在读这篇文章,大概率是遇到了一个棘手的优化问题——可能是供应链网络设计、投资组合优化,或者是复杂的生产排程。你试过一些开源求解器,比如PuLP配合CBC&a…

压榨多核算力:我用 Claude 撰写 C 扩展,将 Python 日志流水线吞吐量提升 10 倍

压榨多核算力:我用 Claude 撰写 C 扩展,将 Python 日志流水线吞吐量提升 10 倍

2026/8/1 9:53:47

一、 痛点:GIL 锁与纯 Python 文本处理的“单核死局”在自动化运维和数据清洗管道的日常演进中,Python 凭借其简洁的语法和强大的生态,一直是编写后台脚本的首选。然而,当业务规模扩大,面对 GB 级别的海量 Nginx 访问日…

NetworkX绘图参数全解析:从基础概念到专业可视化实战

NetworkX绘图参数全解析:从基础概念到专业可视化实战

2026/8/1 9:53:47

1. 从“能画”到“画好”:为什么你需要系统梳理NetworkX绘图参数如果你用过Python的NetworkX库画过图,大概率经历过这样的场景:你兴冲冲地用几行代码构建了一个图,然后调用nx.draw(G),屏幕上瞬间出现了一团密密麻麻、节…

显卡驱动彻底清理:DDU完整教程与避坑指南

显卡驱动彻底清理:DDU完整教程与避坑指南

2026/8/1 9:43:46

显卡驱动彻底清理:DDU完整教程与避坑指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller 当你的电…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/30 9:53:22

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/8/1 0:15:49

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/8/1 4:47:48

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/1 0:03:03

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/1 0:03:03

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/1 0:03:03

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/1 0:03:03

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/1 0:03:03

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/1 0:03:03

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…