一、学习目标

掌握 Python 文件操作(读取、写入、遍历),学会批量处理指定目录下的文件,比如批量修改文件名、提取文件内容,适合刚入门 Python 的程序员巩固基础语法。

二、核心知识点

  • os 模块:遍历目录、修改文件名、判断文件类型
  • 文件操作:open () 函数的读写模式
  • 字符串处理:replace ()、split () 方法的实际应用

三、实战代码(可直接运行)

需求:批量修改指定目录下所有.txt 文件的文件名(添加前缀 “学习笔记_”),并提取所有文件的内容,汇总到一个新文件中。

python

运行

import os

# 1. 定义目标目录(可修改为自己的文件夹路径)
target_dir = "D:/Python学习笔记"

# 2. 校验目录是否存在,不存在则创建
if not os.path.exists(target_dir):
    os.makedirs(target_dir)
    print(f"目录 {target_dir} 不存在,已自动创建")

# 3. 批量修改.txt文件文件名
for filename in os.listdir(target_dir):
    # 判断是否是.txt文件
    if filename.endswith(".txt"):
        # 拼接旧文件路径和新文件路径
        old_path = os.path.join(target_dir, filename)
        new_filename = "学习笔记_" + filename
        new_path = os.path.join(target_dir, new_filename)
        # 修改文件名
        os.rename(old_path, new_path)
        print(f"已修改:{filename} → {new_filename}")

# 4. 提取所有.txt文件内容,汇总到新文件
summary_path = os.path.join(target_dir, "所有笔记汇总.txt")
# 以追加模式打开汇总文件,避免覆盖
with open(summary_path, "a", encoding="utf-8") as summary_file:
    for filename in os.listdir(target_dir):
        if filename.endswith(".txt") and filename != "所有笔记汇总.txt":
            file_path = os.path.join(target_dir, filename)
            # 读取单个文件内容
            with open(file_path, "r", encoding="utf-8") as f:
                content = f.read()
            # 写入汇总文件,添加文件标识
            summary_file.write(f"【{filename}】\n{content}\n\n")
            print(f"已提取:{filename} 的内容")

print("批量处理完成!汇总文件路径:", summary_path)

四、代码说明与运行注意事项

  • 修改 target_dir 为自己电脑上的文件夹路径,确保该文件夹下有.txt 文件,否则会提示 “已创建目录”,但无文件修改。
  • encoding="utf-8" 用于避免中文乱码,若运行时出现编码错误,可尝试将编码改为 gbk。
  • 运行后会在目标目录下生成 “所有笔记汇总.txt”,包含所有.txt 文件的内容,且原.txt 文件均添加了 “学习笔记_” 前缀。

五、拓展练习

尝试修改代码,实现 “批量删除指定目录下小于 100KB 的.txt 文件”,巩固 os 模块的使用。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐