路径操作:pathlib,面向对象的文件系统路径

本文详细介绍了pathlib模块的各种操作,包括初始化、路径拼接、访问路径组件、父目录操作、文件名和扩展名处理、当前工作目录和家目录、路径判断、文件创建和删除、迭代目录、通配符匹配以及文件读写等,提供了面向对象的文件系统路径操作方法。
摘要由CSDN通过智能技术生成

初始化

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(最终路径组件,不带其后缀)

文件名:

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值