python 中的pathlib
微小冷 人气:0pathlib中封装了PurePath
和Path类,前者用于处理路径风格的字符串;后者是前者的子类,可直接处理路径。
PurePath
最甜的功能是重载了运算符,从而可以实现类似下面这种
>>> from pathlib import Path, PurePath >>> pp = PurePath("E:/") >>> pp PureWindowsPath('E:/') >>> pp/"test" PureWindowsPath('E:/test')
对于PurePath对象来说,可调用下面的成员或成员函数:
其中,主文件名即去除后缀之后的文件名。
PurePath
类中还有一些稍微复杂的函数,
>>> pp = PurePath("E:\Code\test.py") # 用于匹配文件后缀 >>> pp.match("*.py") True # 去除基准路径 >>> pp.relative_to("E:\\") PureWindowsPath('Code\test.py') # 更改文件名 >>> pp.with_name('test1.py') PureWindowsPath('E:/test1.py') # 更改后缀名 >>> pp.with_suffix(".md") PureWindowsPath('E:/Code\test.md') # 更改主文件名 >>> pp.with_stem("help.md") PureWindowsPath('E:/help.md.py')
Path
Path是PurePath的子类,在PurePath的基础上添加了一些判定函数,
判定函数 | ,is_file,is_fifo, is_block_device,is_char_device, is_mount,is_symlink,is_socket |
Path对象还可以打开并写入数据,但令人绝望的是并没有close函数,所以并不建议使用。或者说,这个Path.open不像是给程序员使用的,因为Path中提供了更加便捷的读写方式read_bytes,read_text以及write_bytes、write_text。
例如:
>>> p = Path(r'E:\Documents\00\0324\Test.txt') >>> p.write_text("hello world") 11 >>> p.read_text() 'hello world' >>>
此外,可用于直接操作文件和文件夹,提供了非常强大的文件处理功能。Path和os中提供的函数在功能上对应如下
加载全部内容