Featured image of post Python Basic 11 常用文件操作

Python Basic 11 常用文件操作

本篇文章主要介绍Python的常用文件操作

目录操作 💾

检查路径是否存在

1
2
import os
path_exists = os.path.exists("path/to/dir")  # (╯✧▽✧)╯ 返回布尔值

创建目录

1
2
os.mkdir("new_dir")  # 创建单层目录
os.makedirs("path/to/new/dirs", exist_ok=True)  # 递归创建多层目录 ♪(^∇^*)

删除目录

1
2
3
os.rmdir("empty_dir")  # 只能删除空目录哦~
import shutil
shutil.rmtree("dir_with_content")  # 强力删除整个目录树 (ノ>ω<)ノ

文件/目录遍历 🌟

列出目录内容

1
2
files = os.listdir("path")  # 返回文件名列表
entries = os.scandir("path")  # 更高效的迭代器 (推荐!)

递归遍历所有文件

1
2
3
4
5
# 使用os.walk (ノ◕ヮ◕)ノ*:・゚✧
for root, dirs, files in os.walk("path"):
    print(f"当前目录: {root}")
    print(f"子目录: {dirs}")
    print(f"文件: {files}")

文件信息获取 🔍

获取文件属性

1
2
3
stat = os.stat("file.txt")
print(f"大小: {stat.st_size}字节")  # (´・ω・`)?
print(f"修改时间: {stat.st_mtime}")

判断文件类型

1
2
3
is_file = os.path.isfile("path")  # 是不是文件
is_dir = os.path.isdir("path")    # 是不是目录
is_link = os.path.islink("path")  # 是不是链接 ٩(◕‿◕。)۶

路径操作 🛤️

路径拼接

1
full_path = os.path.join("dir", "subdir", "file.txt")  # 超实用!✨

路径分解

1
2
dirname = os.path.dirname("/path/to/file.txt")  # 获取目录部分
basename = os.path.basename("/path/to/file.txt")  # 获取文件名部分

文件操作 📝

复制文件

1
2
shutil.copy("src.txt", "dst.txt")  # 普通复制
shutil.copy2("src.txt", "dst.txt")  # 保留元数据 ヽ(✿゚▽゚)ノ

移动/重命名

1
2
os.rename("old.txt", "new.txt")  # 重命名
shutil.move("src.txt", "dst.txt")  # 移动文件

删除文件

1
os.remove("file.txt")  # 简单删除

高级操作 🚀

文件通配

1
2
import glob
py_files = glob.glob("*.py")  # 匹配所有.py文件 ✨.~( ̄▽ ̄)~*

临时文件/目录

1
2
3
import tempfile
temp_file = tempfile.NamedTemporaryFile(delete=False)  # 临时文件
temp_dir = tempfile.mkdtemp()  # 临时目录 ٩(。・ω・。)و

权限修改

1
os.chmod("file.txt", 0o755)  # 设置权限 (UNIX系统)

这些就是Python中最常用的系统文件操作啦!(๑•̀ㅂ•́)و✧ 记得处理文件时要注意:

  • 检查文件是否存在
  • 处理可能的权限问题
  • 使用try-except捕获异常
  • 跨平台时要小心路径分隔符哦~

Happy coding! 🎉🐍

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计