文件读写、编码与资源关闭
Python 文件、网络与系统编程#Python全栈#第四阶段#Python 文件、网络与系统编程#文件读写、编码与资源关闭约 1006 字 · 3 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
本阶段学习说明
整体培养方向: Python 全栈开发就业,按北京 10~20k 岗位所需能力逐步推进。
本阶段定位: 承接数据类型、函数、异常与资源管理,学习程序与文件系统、操作系统及网络服务的交互,为数据导入导出、接口调用和后端开发打基础。
适用环境: Python 3,兼顾 Windows、macOS 与 Linux;操作系统行为与第三方库接口应按实际环境确认。
考查目标: 能读写与校验业务文件,组织命令行工具和日志,管理子进程,调用 HTTP 接口,并正确处理超时、部分结果、资源关闭和失败恢复。
题库结构: 100 道题,每题包含追问;结合原理、代码阅读、环境排查及编程任务。本阶段提供题目,不包含参考答案。HTTP 与并发部分侧重客户端和基础机制,Web 与浏览器原理、框架开发及高并发优化在后续阶段深入。
答题约定: 文件任务使用专用练习目录,网络任务使用本机或明确授权的测试服务。说明输入、输出、编码、权限与错误行为;批量修改提供预览,下载与子进程设置资源边界,不将真实凭据写入代码或日志。
文本模式与二进制模式有什么区别?
追问 字符串、字节、编码转换和换行处理分别在哪一层发生?
r、w、a、x 以及带 + 的文件模式分别表示什么?
追问 文件不存在或已存在时,各模式如何表现?哪些模式可能清空原内容?
为什么通常通过 with 语句打开文件?
追问 正常完成、块内异常和打开失败时,资源关闭分别如何发生?
read()、readline() 与逐行迭代如何选择?
追问 处理几个 GB 的文本时,内存占用和超长单行还需要考虑什么?
为什么读写业务文本时应明确编码?
追问 开发环境正常、另一台机器出现乱码时,如何检查原始编码与环境默认值?
遇到 UnicodeDecodeError 或 UnicodeEncodeError,如何处理?
追问 严格报错、替换与忽略会对业务数据完整性产生什么不同影响?
seek() 与 tell() 分别做什么?
追问 文本流的位置是否总能当作普通字节偏移?二进制随机读取如何验证?
write() 与 writelines() 如何使用?
追问 是否自动增加换行?返回信息和输入类型有什么不同?
flush()、文件关闭与数据持久落盘有什么区别?
追问 Python 缓冲、操作系统缓存与
os.fsync() 分别处于什么层次?程序写文件中途失败,如何避免留下半份正式结果?
追问 临时文件、校验、同一文件系统内替换与必要的同步步骤如何安排?原子替换是否等于断电后一定持久?