news 2026/10/27 0:43:49

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.walk未break

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

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

十二、一句话记忆版

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

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

三极管分类与选型:从基础到实战(含型号解析)

大家好,今天来聊聊三极管的分类和选型 —— 这是电子工程师入门必懂的知识点,但很多人容易混淆 “类型” 和 “场景” 的对应关系。本文会把三极管的分类逻辑、参数差异、典型型号串起来,最后附实战选型案例。一、三极管的核心分类维度三极管…

作者头像 李华
网站建设 2026/10/26 4:06:53

为啥小设备能塞下这么多功能?盲埋孔PCB藏玄机

有没有发现一个有意思的现象?现在的电子设备越来越“浓缩精华”——TWS耳机小到能塞进耳道,却能降噪续航一整天;智能手环巴掌大,心率、血氧、睡眠监测全搞定;折叠屏手机薄得能揣兜,功能却比老式手机多十倍。…

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

5、网络应用程序安全测试工具与漏洞检测指南

网络应用程序安全测试工具与漏洞检测指南 在网络应用程序安全测试领域,有多种工具和方法可用于发现潜在的安全漏洞。本文将详细介绍一些常用的工具,包括Burp Suite、WebScarab、Hackbar、Tamper Data和OWASP ZAP,并阐述如何使用它们进行网站爬取、请求重复、参数探测、请求…

作者头像 李华
网站建设 2026/10/25 14:24:59

10、SSH 认证机制全解析:从密码到公钥的安全之旅

SSH 认证机制全解析:从密码到公钥的安全之旅 1. SSH 密码认证开启方法 在 Windows 平台上,开启 SSH Communications 的 SSH 服务器的密码认证十分简单。通过配置菜单(开始➪程序➪SSH Secure Shell Server➪配置),能找到用户认证部分的认证选项。在用户认证部分,有诸多…

作者头像 李华