3.4版本之前
os.path 模块
os.path.join('a','b','c') 返回一个当前路径下的a/b/c路径字符串,可根据环境系统自动更换/和\。
path.exists(p) 检查p路径是否真实存在
path.split(path.abspath(p)), 将p路径切为父目录和基目录
path.dirname(p) 返回p的父目录
path.basename(p) 返回p的基目录
path.splitdrive(p) 返回路径P的盘符名
3.4版本开始,建议使用pathlib模块,提供Path对象来操作,包括目录和文件。
Path() 当前目录
Path('a','b','c/d') 当前目录的a/b/c/d
Path('/a') 根下的a目录
parts属性,可以返回路径中的每一个部分.
joinpath(*others) 连接多个字符串到Path对象中。
parent 目录的逻辑父目录
parents 父目录序列,索引0是直接的父目录
name 目录的最后一个部分。返回字符串。
suffix 目录中最后一个部分的扩展名。没有扩展名的情况下返回空字符串。带圆点
suffixes 返回多个扩展名列表
stem 返回最后一部分不带最后扩展名的字符串。
with_suffix(suffix) 补充扩展名到路径尾部,返回新的路径,扩展名存在则无效。
with_name(name) 替换目录最后一个部分并返回一个新的路径。
pwd() 返回当前工作目录。
home() 返回当前家目录。
is_dir() 是否是目录,返回bool
is_file() 受否是普通文件。
is_syslink() 是否是软连接。
is_socket() 是否是socket文件。
is_block_device() 是否是块设备。
is_char_device() 是否是字符设备。
is_absolute()检查是否为绝对路径。
resolve() 返回一个新路径,就是当前path对象的绝对路径,如果是软连接的直接解析。
exists() 目录或文件是否存在。
rmdir() 删除空目录,没有提供
touch(mode = 0o666, exist_ok = True)
mkdir(mode = 0o777,parents = False , exist_ok = False) parents ,是否创建父目录,等同于mkdir -p;False是,父目录不存在,则抛出FIleNotFouneError错误。
exist_ok参数,False时,路径存在,抛出FileExistError ;True时,异常被忽略。
iterdir() 迭代当前目录。
glob(pattern) 通配给定的模式
rglob(pattern) 递归目录通配给定的模式。 返回的是生成器。
match(pattern) 模式匹配,成功返回True。
stat() 相当于stat 命令
lstat() 如果是符号链接,则显示符号链接本身的文件信息。