news 2026/8/28 12:15:46

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/8/28 16:08:54

空间变化偏振的产生

VirtualLab Fusion最吸引人的功能之一是多学科光学系统的全矢量仿真。以马赫-泽德干涉仪为例,采用分束器、反射镜和透镜构成干涉仪的基本结构,在干涉仪的两个臂上插入偏振片,通过旋转偏振片产生空间变化的偏振态。既然我们讨论的是偏振片&…

作者头像 李华
网站建设 2026/8/28 6:03:33

GEO监测在AI搜索中的技术意义:以5118AI工具为例

随着 AI 搜索逐步成为主流入口,搜索结果的呈现方式发生了明显变化。 从传统的链接列表,转向由模型直接生成的综合性答案,这一变化对搜索分析提出了新的技术要求。 在实际工作中,很多开发者和技术团队发现: 原有的 SEO …

作者头像 李华
网站建设 2026/8/28 6:45:30

16、常见Web应用安全漏洞的缓解策略

常见Web应用安全漏洞的缓解策略 在Web应用开发和维护过程中,安全问题至关重要。本文将介绍一些常见的Web应用安全漏洞及相应的缓解策略,这些策略能有效提升Web应用的安全性。 1. 确保函数级访问控制 函数级访问控制用于防止匿名或未经授权的用户调用函数。根据相关标准,缺…

作者头像 李华
网站建设 2026/8/28 6:01:00

MPC-HC主题定制进阶指南:专业美化与差异化界面打造方案

你是否已经厌倦了千篇一律的播放器外观?想要打造与众不同的Media Player Classic-HC播放器界面却苦于无从下手?本文将为你提供一套完整的专业级主题定制方案,通过"问题诊断→解决方案→实战演练"的进阶路径,让你的个性化…

作者头像 李华
网站建设 2026/8/25 20:01:58

能源物联网网关助力电力设备全面接入与数据采集

在数字化和信息化发展的双重驱动下,电网已经成为广泛接入、实时互联的电力网络。随着新型电力系统和新型能源体系建设的不断推进,各类电力设备呈现规模越来越大、分布越来越广、数据量越来越多等趋势,包括新能源发电及储能设备、电网智能装备…

作者头像 李华