亲宝软件园·资讯

展开

python 中的pathlib

微小冷 人气:0

pathlib中封装了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中提供的函数在功能上对应如下

加载全部内容

相关教程
猜你喜欢
用户评论