pathlib模块
初始化
from pathlib import Path
p1 = Path("E:\PycharmProjects\\test01\work\\t17.py")
p2 = Path('E:\PycharmProjects\test01\work\t17.py')
print(p1)
print(p2)
打印结果:
E:\PycharmProjects\test01\work\t17.py
E:\PycharmProjects est01\work 17.py #\t在windows系统里被识别成了tab键
操作符 /
Path对象 / Path对象
Path对象 / 字符串 or 字符串 / Path对象
p3 = p1.parents[len(list(p1.parents))-3] / 'test02' / 'a.tx'
print(p3)
.parts访问各个部分
- 访问路径的各个“parts”(组件)
- 可以访问路径各个组件的元组
p3 = p1.parents[len(list(p1.parents))-3] / 'test02' / 'a.tx'
print(p3.parts)
打印结果:
('E:\\', 'PycharmProjects', 'test01', 'test02', 'a.tx')
获取路径bytes,str
p3 = p1.parents[len(list(p1.parents))-3] / 'test02' / 'a.tx'
print(bytes(p3))
print(str(p3))
打印结果:
b'E:\\PycharmProjects\\test01\\test02\\a.tx'
E:\PycharmProjects\test01\test02\a.tx
父目录 .parents .parent
.parent
路径的逻辑父代
.parents
提供对路径的逻辑祖先的访问的不可变序列
p3 = p1.parents[len(list(p1.parents))-3] / 'test02' / 'a.tx'
print(p3.parent)
print(p3.parents)
打印结果:
E:\PycharmProjects\test01\test02
<WindowsPath.parents>
对比os.path怎么打印父目录?
pathlib模块方法:
p3 = p1.parents[len(list(p1.parents))-3] / 'test02' / 'a.tx'
for i in p3.parents:
print(i)
打印结果:
E:\PycharmProjects\test01\test02
E:\PycharmProjects\test01
E:\PycharmProjects
E:\
os.path方法:
p3 = 'E:\PycharmProjects\\test01\work\\t17.py'
while p3 != path.dirname(p3):
p3 = path.dirname(p3)
print(p3)
打印结果:
E:\PycharmProjects\test01\work
E:\PycharmProjects\test01
E:\PycharmProjects
E:\
目录组成部分:
name(文件名)
文件名:file.tar. gz
name = stem + suffix
stem(最终路径组件,不带其后缀)
文件名: