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)
os.rename('198.txt', '222.txt')`
os.rename('a/b', 'f/c')
2. os.renames(old, new)
- 智能路径重构
- 自动创建新路径中的缺失目录,并删除原路径中的空目录
- 文件迁移示例:
os.renames('a/b/1.txt', 'a/c/11.txt')
os.renames('a/b', 'f/c')
二、删除操作
1. 文件删除
os.remove('a/2.txt')
os.remove('f/c/')
2. 目录删除
os.rmdir('empty_dir')
os.rmdir('f/c')
os.removedirs('path/to/dir')
三、目录创建
1. 单层目录创建
os.mkdir('f/t')
2. 多级目录创建
os.makedirs('f/t/q', exist_ok=True)
四、目录操作
1. 路径获取与切换
print(os.getcwd())
2. 目录内容查看
print(os.listdir())
print(os.listdir('project'))
Python os.path
模块详解
一、路径处理函数
1. 路径转换
print(os.path.abspath(''))
p1, p2 = 'dir1', 'file.txt'
full_path = os.path.join(p1, p2)
2. 路径分解
path = r'C:/Users/20478/1.txt'
print(os.path.split(path))
print(os.path.splitext(path))
print(os.path.dirname(path))
print(os.path.basename(path))
二、路径检测函数
函数名 | 功能说明 | 示例返回值 |
---|
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))
print(os.path.isfile(path))
print(os.path.exists(path))
三、路径属性获取
1. 文件大小
valid_file = 'existing_file.txt'
print(os.path.getsize(valid_file))
try:
os.path.getsize('non_existent.txt')
except FileNotFoundError as e:
print(f"错误:{e}")
2. 路径解析
print(os.path.normpath('a/../b/c'))