pathlib 面向对象的文件系统路径

本文详细介绍了Python的pathlib模块,包括如何创建Path对象,遍历路径,进行路径运算,获取父路径、文件扩展名,以及判断路径属性如是否存在、是否为目录或文件。此外,还涉及了PurePath、PureWindowsPath和PurePosixPath的使用和区别。
部署运行你感兴趣的模型镜像
# -*- coding: utf-8 -*-
# pathlib 面向对象的文件系统路径

# 导入库
import pathlib
from pathlib import Path,PurePath,PureWindowsPath,PurePosixPath

#生成一个Path对象
p = Path('E:/pythonProject1')
print(type(p)) # <class 'pathlib.WindowsPath'>
#遍历路径下子路径
# for x in p.iterdir():
#     print(x.is_dir()) # True
#     print(type(x)) # <class 'pathlib.WindowsPath'>
# 运算符 /
p = p / 'test' / 'a.py'
print(p) #E:\pythonProject1\test\a.py
print(PureWindowsPath(p)) #E:\pythonProject1\test\a.py
# 获取父路径
print(p.parent) #E:\pythonProject1\test
print(p.parents[0],p.parents[1],p.parents[2]) #E:\pythonProject1\test E:\pythonProject1 E:\
# 获取最后路径组件 扩展名 去除扩展名
print(p.name) #a.py
print(p.suffix) #.py
print(p.parent.suffix) #
print(p.stem) #a
# 获取正斜杠(/)分隔的路径字符串
print(p.as_posix()) #E:/pythonProject1/test/a.py
print(type(p.as_posix())) #<class 'str'>
# 当前路径
print(Path.cwd()) #E:\pythonProject1
p1 = Path() # 当前路径
print(p1) #.
print(p1.resolve()) # 当前路径绝对化 #E:\pythonProject1
# 改变模式和权限
# p.chmod(0o444)
# 路径判断
print(p.exists()) # 是否为已存在文件或目录
print(p.is_dir()) # 是否为指向一个目录
print(p.is_file()) # 是否为指向一个文件
# 新建
Path.mkdir(p.parent) # 新建目录


# PurePath() 代表当前系统的路径风格 一个路径片段
print(type(PurePath())) # <class 'pathlib.PureWindowsPath'>
print(PurePath("test","a")) #test\a
print(PurePath(Path("test",Path("a")))) #test\a

#PurePosixPath  PurePath 的子类,路径风格不同于 Windows 文件系统:
print(PurePosixPath('foo') == PurePosixPath('FOO')) #False
#PureWindowsPath PurePath 的一个子类,路径风格为 Windows 文件系统路径
print(PureWindowsPath('foo') == PureWindowsPath('FOO')) #True

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值