Python提供了多个模块来处理文件和目录操作,其中一些最常用的包括os
, shutil
, glob
, pathlib
等。下面是这些模块及其常用方法的概览:
os模块
os模块提供了许多与操作系统交互的功能,包括文件和目录的创建、删除、修改等。
# 列出指定路径下的文件和目录名,参数path为指定的文件或目录路径
os.listdir(path)
# 创建目录
os.mkdir(path)
# 递归创建目录
os.makedirs(path)
# 删除文件
os.remove(path)
# 删除目录
os.rmdir(path)
# 重命名文件或目录,参数src、dst分别代表源文件/目录和目标文件/目录的路径
os.rename(src, dst)
# 将多个路径组件合并后返回
os.path.join(path1[, path2[, ...]])
# 检查指定路径的文件或目录是否存在
os.path.exists(path)
# 检查指定路径是否为文件
os.path.isfile(path)
# 检查指定路径是否为目录
os.path.isdir(path)
# 返回指定文件的大小
os.path.getsize(path)
shutil模块
shutil
模块提供了许多对文件和目录进行高级操作的函数,比如复制、移动、删除等。
# 复制文件,参数src、dst分别代表源文件/目录和目标文件/目录的路径。
shutil.copy(src, dst)
# 递归复制目录
shutil.copytree(src, dst)
# 移动文件或目录
shutil.move(src, dst)
# 递归删除目录,参数path为指定的文件或目录路径
shutil.rmtree(path)
glob模块
glob
模块提供了一个函数用于从目录通配符搜索中生成文件列表。
# 返回所有匹配指定模式的文件路径列表,参数pattern用于匹配文件的模式字符串,可以包含通配符,如*代表任意数量的字符,?代表任意单个字符等。
glob.glob(pattern)
pathlib模块
pathlib
模块提供了面向对象的文件系统路径操作,是处理文件路径的现代方法。
# 返回当前工作目录的路径对象
Path.cwd()
# 返回一个生成器,产生所有匹配给定模式的文件路径对象
Path.glob(pattern)
# 创建新目录,
# mode=0o777: 创建目录时使用的权限位,默认为0o777(八进制),表示创建出的目录对所有用户都是可读、可写、可执行的。
# parents=False: 在创建目录时,如果为True,则会创建所有不存在的父目录。默认为False,不创建父目录。
# exist_ok=False: 如果为True,则目标目录存在时不会抛出异常。默认为False,即如果目标目录已存在,会抛出一个FileExistsError。
Path.mkdir(mode=0o777, parents=False, exist_ok=False)
# 重命名或移动路径
Path.rename(target)
# 删除空目录
Path.rmdir()
# 删除路径指向的文件
Path.unlink(missing_ok=False)