python处理关于文件/文件夹

Hello,夜猫子今天带大家了解python处理关于文件/文件夹操作的代码

Python 提供了多种方式来处理文件和文件夹,包括创建、读取、写入、删除、遍历等。

这些功能在自动化脚本、数据处理、文件管理中非常有用!

关于python处理关于文件/文件夹,以下是常用模块介绍

一、常用模块介绍

os -基础文件/目录操作(如判断是否存在、创建、删除)

os.path -路径拼接、路径是否存在等

shutil -高级文件操作(复制、移动、打包等)

glob -查找匹配的文件名(支持通配符)

pathlib -更现代、面向对象的路径操作

二、基本文件操作(使用 open()

1. 打开并读取文件内容:

with open("example.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)
  • "r":表示只读模式
  • 使用 with 可以自动关闭文件,推荐使用!

2. 写入文件(覆盖原内容):

with open("example.txt", "w", encoding="utf-8") as f:
    f.write("这是写入的内容")
  • "w":表示写入模式(会清空原有内容)

3. 追加内容到文件末尾:

with open("example.txt", "a", encoding="utf-8") as f:
    f.write("\n这是追加的内容")
  • "a":表示追加模式

三、常用 os 文件/文件夹操作

1. 判断文件或文件夹是否存在:

import os

if os.path.exists("example.txt"):
    print("文件存在")
else:
    print("文件不存在")

2. 创建文件夹:

os.makedirs("new_folder", exist_ok=True)  # exist_ok=True 表示如果存在就不报错

3. 删除文件:

os.remove("example.txt")

4. 删除空文件夹:

os.rmdir("empty_folder")

5. 获取当前工作目录:

print(os.getcwd())

6. 列出目录下的所有文件:

files = os.listdir(".")
for file in files:
    print(file)

四、高级文件操作(使用 shutil

1. 复制文件:

import shutil

shutil.copy("source.txt", "dest.txt")

2. 移动/重命名文件:

shutil.move("old_name.txt", "new_name.txt")

3. 递归删除整个文件夹:

shutil.rmtree("folder_to_delete")  # 包含文件的文件夹也能删

4. 打包成 zip 文件:

shutil.make_archive("backup", "zip", "my_folder")  # 把 my_folder 打包成 backup.zip

五、路径操作(推荐使用 pathlib

Python 3.4+ 推荐使用 pathlib 来替代 os.path

from pathlib import Path

p = Path("data/sample.txt")
print(p.parent)      # 输出:data
print(p.name)        # 输出:sample.txt
print(p.suffix)      # 输出:.txt
print(p.exists())    # 是否存在

六、查找文件(使用 glob

import glob

# 查找当前目录下所有 .txt 文件
txt_files = glob.glob("*.txt")
for file in txt_files:
    print(file)

总结:Python 的文件/文件夹操作功能强大又简单,适合用来写自动化工具、整理文件、数据处理等任务。