pathlib 模块
创建path对象:
from pathlib import Path
p1 = Path() #创建当前目录对象
p2 = Path('a','b','c/d') #当前目录下的a/b/c/d
p3 = Path('/etc') #根下的etc 目录
___________________________________________________
.
a\b\c\d
\etc
路径拼接和分解:
- 操作符 / : path对象相互连接或者 path对象和字符串连接,得到的结果是path对象
- jionpath( *other): 连接多个字符串到path对象中
- parts 属性: 返回路径中的每一部分
from pathlib import Path
p1 = Path('a')
print(p1)
p2 = p1 / 'b' / 'c' # path对象 / 字符串
print(p2)
p3 = p1 / p2 # path 对象 / path对象
pritn(p3)
p3.parts #返回p3 的每一部分
print(p1.joinpath('e','f',p2,p3)) # 将'e''f',p2,p3连接到p1
______________________________________________
执行结果:
a
a\b\c
a\a\b\c
('a', 'a', 'b', 'c')
a\e\f\a\b\c\a\a\b\c
父目录:
parent :目录得逻辑父目录
parents :父目录序列
p1 = path('a/b/c/d/e/f')
for parent in p1.parents:
print(parent)
____________________________
执行结果:
a\b\c\d\e
a\b\c\d
a\b\c
a\b
a
.
from pathlib import Path
p1 = Path('a/b/c/d/e/abc.txt')
print(p1)
print(p1.name,p1.stem,p1.suffix,p1.suffixes)
p2 = p1.with_suffix('.py')
print(p2)
_____________________________________________
执行结果:
a\b\c\d\e\abc.txt
abc.txt abc .txt ['.txt']
a\b\c\d\e\abc.py