一、引言
使用 os 模块进行目录和批量文件操作!日常工作很常用!
💡 推荐用 pathlib,更现代!但 os 也需要了解!
二、os 模块常用操作
import os
# 列出目录内容
print(os.listdir(".")) # 列出当前目录
# 创建目录
os.makedirs("my_folder", exist_ok=True) # exist_ok=True: 已存在不报错
# 删除目录(空目录)
# os.rmdir("my_folder")
# 重命名文件
# os.rename("old.txt", "new.txt")
# 删除文件
# os.remove("test.txt")
三、路径操作(os.path)
import os
path = os.path.join("folder", "subfolder", "file.txt") # 拼接路径,跨平台
print(path)
print(os.path.exists(path)) # 是否存在
print(os.path.isfile(path)) # 是不是文件
print(os.path.isdir(path)) # 是不是目录
print(os.path.getsize(path)) # 文件大小(字节
四、更现代的 pathlib(推荐)
from pathlib import Path
# 创建 Path 对象
p = Path(".")
# 列出目录
print(list(p.iterdir()))
# 创建目录
new_dir = Path("pathlib_folder")
new_dir.mkdir(exist_ok=True)
# 拼接路径
file_path = new_dir / "test.txt" # 用 / 拼接,更优雅
file_path.write_text("Hello from pathlib!", encoding="utf-8")
print(file_path.read_text(encoding="utf-8"))
五、批量处理文件
import os
# 批量列出所有 .txt 文件
for filename in os.listdir("."):
if filename.endswith(".txt"):
print("找到txt文件:", filename)
# 用 pathlib 更方便
from pathlib import Path
p = Path(".")
for txt_file in p.glob("*.txt"):
print(txt_file)
六、课后练习题
# 练习 1:用 os 模块创建一个目录,里面放几个文件
# 练习 2:用 pathlib 批量列出所有 .py 文件
# 练习 3:尝试用 pathlib 读一个文件
总结
通过本章学习,你应该已经掌握了「目录操作与批量文件处理」的相关知识。
模块7完成!下一章学习模块8!