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 的文件/文件夹操作功能强大又简单,适合用来写自动化工具、整理文件、数据处理等任务。