python 路径操作

python路径操作:

3.4版本之前:os.path模块

3.4版本开始,建议使用pathlib模块,提供Path对象来操作,包括目录和文件

目录操作:

路径拼接和分解:

操作符/  Path对象/Path对象;Path对象/字符串;字符串/Path对象

分解:parts属性,可以返回路径中的每一部分

joinpath(*other):连接多个字符串到Path对象中

str():获取路径字符串;bytes():获取路径字符串的bytes

parent:目录的逻辑父目录;parents:父目录序列,索引0是直接的父

name:目录中的最后一个部分

suffix:目录中最后一个部分的扩展名

stem:目录最后一个部分,没有后缀

suffixes:返回多个扩展名列表

with_suffix(suffix):补充扩展名到路径尾部,返回新的路径,扩展名存在则无效

with_name(name):替换目录最后一个部分并返回一个新的路径

cwd():返回当前工作目录

home():返回当前家目录

is_dir():是否是目录,目录存在放回True

is_file():是否是普通文件,文件存在返回True

is_symlink():是否是软连接

is_socket():是否是socket文件

is_block_device():是否是块设备

is_char_device():是否是字符设备

is_absolute():是否是绝对路径

resolve():返回一个新的路径,这个新路径就是当前Path对象的绝对路径,如果是软连接则直接被解析

exists():目录或者文件是否存在

rmdir():删除空目录,没有提供判断目录为空的方法

touch(mode=0o666,exist_ok=True):创建一个文件

as_url():将路径返回成URL

mkdir(mode=0o777,parents=False,exist_ok=False):创建一个目录,parents,是否创建父目录,True等同于mkdir -p;False时,父目录不存在,则抛出FileNotFoundError;exist_ok,在3.5版本加入,False时,路径存在,抛出FileExistsError;True时,FileEexistsError被忽略

iterdir():迭代当前目录

通配符:

glob(pattern):通配给定的模式

rglob(pattern):通配给定的模式,递归目录

match(pattern):模式匹配,成功返回True

文件操作:

open():使用方法类似内建函数open,返回一个文件对象

read_bytes():以‘rb’读取路径对应的文件,并返回二进制流

read_text(encoding=None,errors=None):以‘rt’方式读取路径对应文件,返回文本

Path.write_bytes(data):以‘wb’方式写入数据到路径对应文件

write_text(data,encoding=None,errors=None):以‘wt’方式写入字符串到路径对应文件

猜你喜欢

转载自www.cnblogs.com/s-p-l/p/10272249.html