文件8:文件路径-组件方法

本文详细介绍了Python的pathlib模块,包括p.parts、p.parent、p.parents、p.drive、p.root、p.anchor、p.name、p.stem、p.suffix和p.suffixes等方法,阐述了这些方法在处理文件路径时的作用和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. 组件元组:p.parts  

2. 逻辑父路径  

p.parent  

p.parents  

3. 驱动器和根目录组件

p.drive

p.root

p.anchor 

4. 最后路径组件

p.name  

p.stem

p.suffix  

p.suffixes  


下述方法,基于pathlib.PurePath、pathlib.Path函数模块。

1. 组件元组:p.parts  

将得到一个元组,包含路径中的各个组件;

如路径包含驱动器和根目录,则元组第一个元素即p.anchor返回值,其余参数为路径按照 '\'、'/'、转义字符 '\\' 顺序分割后的路径各个组件;

分割后组件,不包括 '\'、'/'、转义字符 '\\' ,单个 '.' 和  '\'、'/'、转义字符 '\\' 组合被视为一体去除,多个 '.' 则保留。

#如路径包含驱动器和根目录,则元组第一个元素即 p.anchor 返回值
p = Path('E:/David/Code/python/代码/text.txt')
p.parts
('E:\\', 'David', 'Code', 'python', '代码', 'text.txt')
p = Path('/David/Code/python./代码/text.txt')
p.parts
('\\', 'David', 'Code', 'python.', '代码', 'text.txt')

#如路径不包含驱动器和根目录
#参数为路径按照 '\'、'/'、转义字符 '\\' 顺序分割后的路径各个组件
p = Path('David/Code/python/代码/text.txt')
p.parts
('David', 'Code', 'python', '代码', 'text.txt')
p = Path('代码\\text.txt')
p.parts
('代码', 'text.txt')
p = Path(r'代码\text.txt')
p.parts
('代码', 'text.txt')

#单个 '.' 和  '\'、'/'、转义字符 '\\' 组合被视为一体去除,多个 '.' 则保留
p = Path('./David/Code/python/代码/text.txt')
p.parts
('David', 'Code', 'python', '代码', 'text.txt')
p = Path('../David/Code/python/代码/text.txt')
p.parts
('..', 'David', 'Code', 'python', '代码', 'text.txt')

2. 逻辑父路径  

p.parent  

显示路径的逻辑父路径;

从路径的最后往前遍历到前一个 '/'、'\' ,将斜杠之前的路径作为逻辑父路径返回;

当遍历到路径最前,为盘符+斜杠时,将盘符+斜杠返回;

当遍历到路径最前,为盘符+非斜杠时,将盘符返回;

当遍历到路径最前为斜杠时,返回 '/';

当遍历到最前为 './' 、':' 及单个 '.' 时,返回 '.'。

#从路径的最后往前遍历到前一个 '/'、&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃烧的火鸟啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值