news 2026/4/16 14:20:44

python 之 文件管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python 之 文件管理

文章目录

  • Python 文件相关操作总结
    • 一、文件与目录的基本概念
      • 路径类型
    • 二、文件读写(最核心)
      • 1️⃣ 打开文件:`open()`
      • 2️⃣ 推荐写法:`with open`
      • 3️⃣ 读取方式
      • 4️⃣ 写入方式
    • 三、目录操作(os 模块)
      • 1️⃣ 判断路径类型
      • 2️⃣ 创建 / 删除目录
      • 3️⃣ 列出目录内容
      • 4️⃣ 拼接路径(跨平台)
    • 四、遍历目录(重点)
      • 1️⃣ `os.walk()`(递归)
      • 2️⃣ 只遍历一层
    • 五、文件名与路径处理
      • 1️⃣ 获取文件扩展名(标准)
      • 2️⃣ 文件大小 / 修改时间
    • 六、文件类型统计(综合示例)
    • 七、文件复制 / 删除 / 重命名
      • 使用 `shutil`(更安全)
    • 八、使用 pathlib(现代写法)
    • 九、输入输出与文件结合
    • 十、常见错误总结(重点)
    • 十一、工程实践建议(你这个阶段非常重要)
    • 十二、一句话记忆版

下面是一份结构化、可直接复习与对照使用的 Python 文件操作完整总结。覆盖从基础到工程实践中最常用、最容易出错的部分,与你前面已经接触的os.walk、扩展名统计等内容是完全衔接的。

Python 文件相关操作总结


一、文件与目录的基本概念

对象说明
文件(file)存储数据的最小单位
目录(directory)用于组织文件和子目录
路径(path)文件或目录的定位方式

路径类型

  • 绝对路径D:\data\test.txt
  • 相对路径./data/test.txt

二、文件读写(最核心)

1️⃣ 打开文件:open()

open(file,mode='r',encoding=None)

常用模式:

模式含义
r读取(默认)
w写入(覆盖)
a追加
rb/wb二进制读 / 写

2️⃣ 推荐写法:with open

withopen("data.txt","r",encoding="utf-8")asf:content=f.read()

优点:

  • 自动关闭文件
  • 不易泄漏资源
  • 工程级标准写法

3️⃣ 读取方式

f.read()# 全部内容f.readline()# 一行f.readlines()# 行列表

推荐:

forlineinf:print(line.strip())

4️⃣ 写入方式

f.write("hello\n")f.writelines(["a\n","b\n"])

三、目录操作(os 模块)

1️⃣ 判断路径类型

os.path.exists(path)os.path.isfile(path)os.path.isdir(path)

2️⃣ 创建 / 删除目录

os.mkdir("dir")# 单层os.makedirs("a/b/c")# 多层os.rmdir("dir")# 空目录

3️⃣ 列出目录内容

os.listdir(path)

4️⃣ 拼接路径(跨平台)

os.path.join(root,filename)

禁止手写:

root+"/"+filename# ❌

四、遍历目录(重点)

1️⃣os.walk()(递归)

forroot,dirs,filesinos.walk(path):...
返回值含义
root当前目录路径
dirs子目录名列表
files文件名列表

控制递归:

dirs.remove("venv")

2️⃣ 只遍历一层

forroot,dirs,filesinos.walk(path):...break

五、文件名与路径处理

1️⃣ 获取文件扩展名(标准)

name,ext=os.path.splitext(filename)

2️⃣ 文件大小 / 修改时间

os.path.getsize(path)os.path.getmtime(path)

六、文件类型统计(综合示例)

fromcollectionsimportdefaultdictimportos counter=defaultdict(int)forroot,_,filesinos.walk(path):forfinfiles:_,ext=os.path.splitext(f)ext=ext.lower()ifextelse'no_extension'counter[ext]+=1

七、文件复制 / 删除 / 重命名

使用shutil(更安全)

importshutil shutil.copy(src,dst)shutil.move(src,dst)shutil.rmtree(dir_path)

八、使用 pathlib(现代写法)

frompathlibimportPath p=Path("data")forfileinp.rglob("*"):iffile.is_file():print(file.suffix)

对比:

ospathlib
函数式面向对象
老标准新推荐
灵活可读性强

九、输入输出与文件结合

path=input("请输入路径: ")withopen("result.txt","w",encoding="utf-8")asf:f.write(str(result))

十、常见错误总结(重点)

错误原因
文件未关闭未用with open
路径拼接错误手写/
编码报错未指定encoding
扩展名识别错split('.')
重复遍历os.walkbreak

十一、工程实践建议(你这个阶段非常重要)

  1. 路径处理统一用os.path.joinpathlib
  2. 遍历目录首选os.walk
  3. 文件扩展名用splitext
  4. 统计类问题用defaultdict / Counter
  5. 所有文件操作都包在with open

十二、一句话记忆版

Python 文件操作 =open读写 +os.walk遍历 +os.path处理路径

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:40:37

粒子群算法在燃气轮机冷热电联供运行优化中的应用

粒子群算法求解燃气轮机冷热电联供运行优化燃气轮机冷热电联供系统像是个会过日子的管家——既要发电又要供热制冷,还得把能耗和成本压到最低。这玩意儿涉及发电效率、余热回收、设备运行策略一堆变量,传统优化方法容易卡在局部最优解里出不来&#xff0…

作者头像 李华
网站建设 2026/4/10 20:45:12

3款视频去水印去字幕AI软件工具免费,手机电脑都有!!

第一款:HitPaw Watermark Remover‌ 基于人工智能技术的专业视频去字幕去水印软件,具备多种AI驱动的图片与视频去水印模式,兼容多种格式,可批量处理并实时预览效果。 能智能识别水印区域并匹配最佳方案,适用于内容创作…

作者头像 李华
网站建设 2026/4/15 19:02:41

智慧农业综合实训平台

智慧农业综合实训平台以真实农业生产场景为蓝本,将物联网、机器视觉、机器语音语言、AIGC大模型、边缘计算、PLC 控制、虚拟仿真等前沿技术深度融合,构建了智慧农业气象系统、智慧农业大棚系统、智慧农业畜牧系统、水培智能营养液管理系统、智能灌溉与施…

作者头像 李华
网站建设 2026/4/16 10:58:49

19、应用的持续交付与部署策略

应用的持续交付与部署策略 在软件开发与运维的过程中,持续交付和不同的部署策略是保障软件稳定、高效发布的关键。下面将详细介绍如何搭建持续交付管道,以及规则发布、蓝绿部署和金丝雀部署等不同的部署策略。 持续交付管道搭建 在开始搭建持续交付管道之前,我们已经完成…

作者头像 李华
网站建设 2026/4/16 10:57:50

11、SSH 密钥使用与管理全攻略

SSH 密钥使用与管理全攻略 1. SSH 语法差异与基本操作 不同的 SSH 工具在语法上存在差异。例如,OpenSSH 使用“–i ”语法来指定私钥,而 SSH Communications 使用“–i identification”。在客户端创建识别文件的语法如下: echo “IdKey SSH2 - Shreya” >> ident…

作者头像 李华