python os模块常用方法速查笔记

Python os 模块文件操作详解

目录操作函数速查表

操作类型函数名功能描述注意点
重命名os.rename()基础文件/目录重命名不能自动创建路径
os.renames()递归重命名(自动创建新路径,删除旧空目录)适用于文件路径结构变更
删除os.remove()删除文件不能删除目录
os.rmdir()删除空目录目录必须为空
os.removedirs()递归删除空目录从子目录往上级逐级删除
创建os.mkdir()创建单个目录父目录需存在
os.makedirs()递归创建目录树支持创建多级不存在的目录
目录操作os.getcwd()获取当前工作目录返回绝对路径
os.chdir()切换工作目录需确保目录存在
os.listdir()列出目录内容返回相对路径列表

一、文件/目录重命名

1. os.rename(src, dst)

  • 基础重命名操作
  • 文件示例:
# 将198.txt重命名为222.txt(同级目录) 
os.rename('198.txt', '222.txt')`
  • 目录示例:
# 将目录a/b重命名为f/c(要求目标路径存在) 
os.rename('a/b', 'f/c')

2. os.renames(old, new)

  • 智能路径重构
  • 自动创建新路径中的缺失目录,并删除原路径中的空目录
  • 文件迁移示例:
# 将a/b/1.txt移动到新建的a/c目录并重命名 
os.renames('a/b/1.txt', 'a/c/11.txt')
  • 目录重构示例:
# 将目录a/b重命名为f/c(自动处理路径) 
os.renames('a/b', 'f/c')

二、删除操作

1. 文件删除

os.remove('a/2.txt')  # 成功删除文件 
os.remove('f/c/')     # 报错:IsADirectoryError

2. 目录删除

# 删除空目录 
os.rmdir('empty_dir')   # 尝试删除非空目录 
os.rmdir('f/c')       # 报错:OSError - [Errno 39] Directory not empty # 递归删除空目录(从子目录往父目录删除) 
os.removedirs('path/to/dir')  # 仅当所有子目录为空时生效

三、目录创建

1. 单层目录创建

os.mkdir('f/t')       # 要求父目录f存在 os.mkdir('f/t/q')     # 报错:FileNotFoundError(如果f/t不存在)

2. 多级目录创建

# 正确创建目录树 
os.makedirs('f/t/q', exist_ok=True)  # 自动创建所有不存在的父目录

四、目录操作

1. 路径获取与切换

print(os.getcwd())    # 输出当前工作目录绝对路径 os.chdir('f')         # 正确切换目录(注意函数名是chdir不是cddir)

2. 目录内容查看

# 获取当前目录文件列表 
print(os.listdir())
# 查看当前目录 
print(os.listdir('project')) # 查看指定目录

Python os.path 模块详解


一、路径处理函数

1. 路径转换

# 获取绝对路径(自动解析相对路径和符号链接)
print(os.path.abspath(''))  # 输出当前目录的绝对路径,如:C:\Project

# 智能路径拼接(自动处理系统分隔符)
p1, p2 = 'dir1', 'file.txt'
full_path = os.path.join(p1, p2)  # Windows: dir1\file.txt | Linux/macOS: dir1/file.txt

2. 路径分解

path = r'C:/Users/20478/1.txt'

# 分割目录与文件名
print(os.path.split(path))       # ('C:/Users/20478', '1.txt')

# 分割文件扩展名
print(os.path.splitext(path))    # ('C:/Users/20478/1', '.txt')

# 获取目录部分
print(os.path.dirname(path))     # C:/Users/20478

# 获取文件名部分
print(os.path.basename(path))    # 1.txt

二、路径检测函数

函数名功能说明示例返回值
os.path.exists()路径是否存在False(示例文件不存在)
os.path.isdir()是否是目录False
os.path.isfile()是否是文件False
os.path.isabs()是否是绝对路径True
path = r'C:/Users/20478/1.txt'

print(os.path.isdir(path))     # False(路径不存在或不是目录)
print(os.path.isfile(path))    # False(路径不存在或不是文件)
print(os.path.exists(path))    # False(示例中文件不存在)

三、路径属性获取

1. 文件大小

# 获取文件字节数(需文件真实存在)
valid_file = 'existing_file.txt'
print(os.path.getsize(valid_file))  # 输出如:1024(单位:字节)

# 当文件不存在时会报错
try:
    os.path.getsize('non_existent.txt')
except FileNotFoundError as e:
    print(f"错误:{e}")

2. 路径解析

# 获取规范化的绝对路径(自动处理../等相对路径)
print(os.path.normpath('a/../b/c'))  # 输出:b\c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值