目录(OS模块)
- os模块提供了与系统目录操作相关的功能,不受平台限制
目录操作
- 目录操作就是通过
Python
来实现目录的创建,修改,遍历等功能; - 目录操作需要导入
os
模块,如下:
# 必须导入
import os
# 按需求导入
import shutil # Python内置的文件操作的高级模块
函数 | 含义 |
| 切换目录, |
| 创建目录(文件夹),只能在本程序所在的文件夹创建一个文件夹,不能创建目录树, |
| 创建多层目录,在本文件夹下创建 |
| 删除文件 |
| 删除单级目录,文件夹为空,并且为最底层目录 |
| 删除文件夹树,如 |
| 删除文件夹树,如 |
| 获取当前路径 |
| 返回指定目录下的所有文件和文件夹名,列表形式;不指定 |
| 返回当前路径下([绝对路径], [文件夹s], [文件s]) |
| 重命名文件,如果改名的同时,更改了目录,目录必须存在 |
| 重命名文件,如果改名的同时,更改了目录,会自动创建目录,如果旧目录只有一个文件,旧目录会删除 |
| 判断是否为文件 |
| 判断是否为目录 |
| 连接目录,如: |
| 将文件分割成文件名与扩展名,如分割: |
演示代码
import os
import shutil # 文件操作的高级模块
# 重命名,文件不存在会报错;默认重命名当前目录下的文件,也可指定路径重命名
os.rename("091文件的拷贝[复件].py", "094重命名.py")
os.rename("094新建文件夹/崇明.txt.py", "094新建文件夹/崇明.py")
# 删除文件,文件不存在会报错;默认删除当前目录下的文件,也可指定路径删除文件
os.remove("094重命名.py")
os.remove("094新建文件夹/2.txt")
# 创建单级文件夹
os.mkdir("094新建文件夹")
# 删除单级空的文件夹,不存在、不空都报错
os.rmdir("094新建文件夹")
# 获取当前操作目录的路径
print(os.getcwd())
# 切换目录
os.chdir("094新建文件夹")
print(os.getcwd())
# 查看上级目录的文件列表;如果不指定参数,默认查看的是当前目录的下文件信息
result = os.listdir("../")
# 修改文件名的同时指定路径
# 当文件夹下不只一个文件时,会新建指定名字的目录,并重命名文件
# 当文件夹下只有一个文件时,旧目录会删除,其他创建同上
os.renames("094新建文件夹/崇明.py", "094演示文件夹/鼋.txt")
# renames()修改文件名的同时更改他的目录,目录自动创建
os.renames("1.txt", "094文件/深层/22.txt")
# 删除文件夹及文件夹里面的文件
shutil.rmtree("094演示文件夹/1")
# 判断文件或文件夹是否存在 返回True和False
result = os.path.exists("DDD/111.txt")
# 获取当前路径下的所有文件和文件夹以及对应的路径
mytuple = os.walk('.', topdown=Flase)
文件操作的应用
# 批量重命名
import os
src_dir = "094演示文件夹"
# 1. 获取指定目录下的文件列表
file_list = os.listdir(src_dir)
# 2. 遍历列表对每一个原文件进行重命名操作
for file_name in file_list:
# 生成重命名后的文件名
new_file_name = "[李凡出品]-" + file_name
# 对原文件进行重命名操作
os.rename(src_dir + "/" + file_name, src_dir + "/" + new_file_name)