2020-10-15

本文详细介绍了Python的pathlib模块中的PurePath和Path类。PurePath仅处理路径字符串,不涉及文件系统操作,而Path是其子类,支持访问和操作实际文件系统。通过示例展示了如何创建、拼接路径,访问父路径、文件名等属性,并演示了Path类如何检查文件系统中的路径状态。

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

PurePath
不访问实际系统文件“纯路径”,只负责对路径字符串进行操作
Path
访问真实系统文件的“真实路径”,判断对应文件是否存在,是否为文件,是否为目录
Path是PurePath的子类

1.PurePath
程序在创建PurePath和Path时,既可以传入单个字符串,也可传入多个路径字符串,PurePath会将它们拼接成一个字符串(文件路径)。

from pathlib import *

# 输出windows风格路径
p1 = PurePath('helloworld','some/path','info')
print(p1)  # helloworld\some\path\inf

# 不传入参数,默认使用当前路径
p3 = PurePath()
print(p3)  # .

# 传入的参数包含多个根路径,则只有最后一个根路径及后面的子路径生效
p4 = PurePath('/etc','/usr','lib64')
print(p4)  # \usr\lib64

PurePath属性

# 访问parents属性:返回当前路径的全部父路径
pp = PurePath('abc/xyz/hello/world')
print(pp.parents[0])  # abc\xyz\hello
print(pp.parents[1])  # abc\xyz
print(pp.parents[2])  # abc
print(pp.parents[3])  # .


# 访问name属性:返回当前目录的文件名
print(pp.name)  # world
pp = PurePath('abc/xyz/bb.txt')
print(pp.name)  # bb.txt

2.Path
Path是PurePath的子类,它除了支持PurePath的各种操作、属性和方法之外,还会真正访问底层的文件系统,包括判断Path对应的路径是否存在,获取Path对应路径的各种属性(如是否只读、是文件还是文件夹等),甚至可以对文件进行读写

from pathlib import *

# 获取当前目录
p = Path('.')

# 获取上一级目录
p = Path('../')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值