蓝易云 :Python基本文件操作及os库
蓝易云Python 基本文件操作与 os 库实战向Python 的文件操作本质是把磁盘上的“字节流”通过打开open → 读写read/write → 关闭close这条链路安全地跑完。os库则负责和操作系统打交道路径、目录、权限、环境变量、进程信息等。把这两块掌握你就能把日志、配置、数据落盘、批处理脚本做得又稳又干净。✅一、核心对比表文件模式怎么选避免踩坑场景模式是否创建是否覆盖典型用途读文本r否否读取配置、读取日志写文本w是是生成报告、覆盖写入追加文本a是否追加日志、追加记录读写r否否读后再改不清空二进制读rb否否读图片、压缩包二进制写wb是是写文件、下载落盘关键点w会清空原文件上线脚本里要格外谨慎。二、最推荐写法with 上下文自动关闭文件✅with open(app.log, r, encodingutf-8) as f: data f.read() print(data)解释逐行拆解open(app.log, r, encodingutf-8)以只读方式打开文本文件并声明编码避免乱码与平台差异。with ... as f上下文管理器代码块结束时会自动执行关闭动作相当于把“忘记 close”这类低级风险直接消掉。f.read()一次性读全文件适合小文件大文件建议用逐行读取见下。三、大文件读取逐行迭代更稳省内存with open(big.log, r, encodingutf-8) as f: for line in f: line line.rstrip(\n) # 这里处理每一行解释for line in f按行流式读取不会把整个文件一次性塞进内存适合日志、CSV 等大文件。rstrip(\n)去掉行末换行符便于拼接、比较、解析。四、写入与追加明确控制“覆盖/追加”# 覆盖写入危险但常用 with open(report.txt, w, encodingutf-8) as f: f.write(今日统计OK\n) # 追加写入日志更常用 with open(report.txt, a, encodingutf-8) as f: f.write(追加一行记录\n)解释w没有文件就创建有文件就清空再写适合“生成全量报告”。a总是写到末尾适合“不可丢”的流水日志。五、os 与路径/目录跨平台的关键是 join 与 exists import os base_dir os.path.dirname(os.path.abspath(__file__)) log_dir os.path.join(base_dir, logs) os.makedirs(log_dir, exist_okTrue) log_path os.path.join(log_dir, app.log) print(log_path)解释逐行拆解os.path.abspath(__file__)拿到当前脚本的绝对路径避免“在哪运行就读哪”的漂移问题。os.path.dirname(...)取目录部分作为工程根定位点。os.path.join(...)按系统规则拼路径Windows/Linux 分隔符不同手拼容易出错。os.makedirs(..., exist_okTrue)递归创建目录exist_okTrue表示目录已存在也不报错脚本可重复执行。六、常见文件/目录操作移动、删除、重命名务必先判断⚙️import os src a.txt dst backup/a.txt if os.path.exists(src): os.makedirs(os.path.dirname(dst), exist_okTrue) os.replace(src, dst)解释os.path.exists(src)先确认存在再操作避免异常导致任务中断。os.path.dirname(dst)拿到目标目录配合makedirs先建目录。os.replace(src, dst)替换式移动/重命名目标存在会被覆盖适合“以新换旧”的交付逻辑。七、工作流程图从“拿路径”到“安全落盘”flowchart TD A[定位基准路径br/abspath dirname] -- B[拼接路径br/path.join] B -- C{目录存在?} C --|否| D[创建目录br/makedirs exist_ok] C --|是| E[直接进入文件操作] D -- E E -- F[with open 读/写/追加] F -- G[异常处理/校验结果]八、实战落地建议企业级口径✅永远优先用with open把资源释放做成“默认正确”。大文件处理默认用逐行避免内存飙升。路径拼接只用os.path.join拒绝手写分隔符。删除/覆盖类操作前先做exists校验必要时加“备份副本”把可恢复性当 KPI。

相关新闻

基于RS-485/422到以太网的数据传输方案

基于RS-485/422到以太网的数据传输方案

一、系统架构设计 RS-485/422设备 → UART接收 → MCU数据处理 → SPI传输至W5500 → 以太网传输核心模块:RS-485/422收发器:完成差分信号与TTL电平转换(如MAX485芯片)MCU串口模块:STM32 USART接收数据(波特…

2026/7/5 14:04:14 阅读更多 →
pcb拼板评测排行 哪家拼板方案最靠谱

pcb拼板评测排行 哪家拼板方案最靠谱

你在PCB成本方面到底能减少众多,以及SMT贴片良率究竟能达到多高的程度,这是由拼板设计的优劣直接决定的。这是我耗时多年,在PCB行业历经摸爬滚打之后所获得的最为深刻的体会。许多工程师仅仅是把拼板当作是将几块小板子拼接在一起的行为动作&…

2026/7/8 11:55:01 阅读更多 →
NineData 智能数据管理平台新功能发布|2026 年 1-2 月

NineData 智能数据管理平台新功能发布|2026 年 1-2 月

NineData 在 2026 年 1-2 月发布重点聚焦在数据库迁移前评估能力建设、异构数据库复制能力增强以及 SQL 运维体验优化,提供了 AI 能力增强、慢查询分析扩展、登录体验优化,持续提升数据库运维效率与平台使用便捷性。重点发布数据库 DevOps-SQL AI 智能提…

2026/7/7 2:15:40 阅读更多 →

最新新闻

MATLAB双频域水印实验包:DCT+DWT嵌入提取+攻击测试+质量评估

MATLAB双频域水印实验包:DCT+DWT嵌入提取+攻击测试+质量评估

本文还有配套的精品资源,点击获取 简介:直接运行就能做数字水印实验的MATLAB工具集,内置离散余弦变换(DCT)和离散小波变换(DWT)两套完整水印流程。主脚本watermark.m支持把logo图像&#xff…

2026/7/8 16:16:31 阅读更多 →
洛雪音乐桌面版:跨平台音乐聚合播放器终极使用指南

洛雪音乐桌面版:跨平台音乐聚合播放器终极使用指南

洛雪音乐桌面版:跨平台音乐聚合播放器终极使用指南 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 你是否厌倦了在不同音乐平台之间来回切换?是否希望在一…

2026/7/8 16:16:31 阅读更多 →
物流机器人调度仿真工具:MATLAB多策略任务分配+可视化路径规划(带GUI和独立运行版)

物流机器人调度仿真工具:MATLAB多策略任务分配+可视化路径规划(带GUI和独立运行版)

本文还有配套的精品资源,点击获取 简介:一套面向实际物流场景的机器人调度仿真工具,支持任务动态生成、多机器人协同指派与障碍物环境下的路径规划。内置7种任务分配策略(task1.m-task7.m),覆盖贪心、匈…

2026/7/8 16:16:31 阅读更多 →
62种野外可食用植物图像识别工具包:基于VGG16迁移学习,含训练权重与批量预测脚本

62种野外可食用植物图像识别工具包:基于VGG16迁移学习,含训练权重与批量预测脚本

本文还有配套的精品资源,点击获取 简介:一套开箱即用的植物图像分类工具,专注野外常见可食用植物识别,覆盖62个类别。内置4300张训练图和310张测试图,每类独立文件夹存放,类别名自动解析无需手动标注。采…

2026/7/8 16:16:31 阅读更多 →
Matlab免疫算法求解TSP路径优化(附可直接运行代码与结果图)

Matlab免疫算法求解TSP路径优化(附可直接运行代码与结果图)

本文还有配套的精品资源,点击获取 简介:用Matlab实现免疫算法解决旅行商问题(TSP),包含完整函数模块:抗原初始化(InitAntigen)、选择机制(SelectAntigen)、…

2026/7/8 16:14:30 阅读更多 →
DFT 频谱泄露与栅栏效应:N=100 vs N=128 点采样对比实测

DFT 频谱泄露与栅栏效应:N=100 vs N=128 点采样对比实测

DFT频谱泄露与栅栏效应:N100与N128点采样对比实测分析在数字信号处理领域,离散傅里叶变换(DFT)是将时域信号转换到频域的重要工具。然而在实际应用中,频谱泄露(Spectral Leakage)和栅栏效应&…

2026/7/8 16:14:30 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻