当前位置: 首页 > news >正文

【每天学习一点点】使用Python的pathlib模块分割文件路径

使用Python的pathlib模块分割文件路径

pathlib模块(Python 3.4+)提供了面向对象的文件系统路径操作方式,比传统的os.path更加直观和易用。以下是使用pathlib分割文件路径的几种方法:

基本路径分割

from pathlib import Path# 创建一个Path对象
path = Path('/home/user/docs/report.txt')# 获取路径的不同部分
print(path.parent)    # 父目录: /home/user/docs
print(path.name)      # 文件名(包含后缀): report.txt
print(path.stem)      # 文件名(不包含后缀): report
print(path.suffix)    # 文件后缀: .txt
print(path.suffixes)  # 所有后缀列表: ['.txt']

多级路径处理

path = Path('/usr/local/bin/python3')# 获取路径的各个部分
print(path.parts)  # ('/', 'usr', 'local', 'bin', 'python3')# 遍历父目录
for parent in path.parents:print(parent)
# 输出:
# /usr/local/bin
# /usr/local
# /usr
# /

处理相对路径

rel_path = Path('docs/../images/photo.jpg')# 解析相对路径
print(rel_path.resolve())  # 绝对路径,如 /home/user/images/photo.jpg# 获取纯名称部分
print(rel_path.name)       # photo.jpg

合并路径

base = Path('/home/user')
subpath = Path('docs/report.txt')# 使用 / 运算符合并路径
full_path = base / subpath
print(full_path)  # /home/user/docs/report.txt

处理多个后缀的文件

archive = Path('backup.tar.gz')print(archive.suffix)    # .gz (只返回最后一个后缀)
print(archive.suffixes)  # ['.tar', '.gz']
print(archive.stem)      # backup.tar (不包含最后一个后缀)

检查路径属性

path = Path('/home/user/file.txt')print(path.is_file())     # 是否是文件
print(path.is_dir())      # 是否是目录
print(path.exists())      # 路径是否存在

pathlib模块的这些方法使得路径操作更加直观和安全,特别是在跨平台开发时,它能自动处理不同操作系统的路径分隔符问题。

相关文章:

  • 力扣刷题Day 41:除自身以外数组的乘积(238)
  • n8n - 开放灵活的智能自动化工作流平台
  • vue教程(vuepress版)
  • 【Python】pyinstaller 反编译 exe
  • FPGA图像处理(四)------ 图像裁剪
  • 【C语言】(8)—指针2
  • 65.Three.js案例-使用 MeshNormalMaterial 和 MeshDepthMaterial 创建 3D 图形
  • Screeps Arena基础入门
  • 基于STM32、HAL库的CP2104 USB转UART收发器 驱动程序设计
  • 最新Spring Security实战教程(十四)OAuth2.0精讲 - 四种授权模式与资源服务器搭建
  • 湖南省密码协会成立,麒麟信安担任副会长单位共话密码创新应用之道
  • 【Python Web开发】05-WSGI概述
  • WordPress插件:WPJAM Basic优化设置
  • 数据库(MySQL)基础
  • 【AI提示词】费曼学习法导师
  • 【时时三省】(C语言基础)怎样定义和引用二维数组
  • 开平机:卷材高效成板的核心装备
  • 无需标记点,精准面部捕捉!无线面捕头盔赋予自由表演空间
  • Java大师成长计划之第15天:Java线程基础
  • 3.5/Q1,GBD数据库最新文章解读
  • “毛茸茸”的画,诗意、温暖又治愈
  • 三星“七天机”质保期内屏幕漏液被要求自费维修,商家:系人为损坏
  • 阿里CEO:将以饱和式投入打法,聚焦几大核心战役
  • 洲际酒店:今年第一季度全球酒店平均客房收入同比增长3.3%
  • 范志毅跨界归来做青训,探索中国足球人才培养新模式
  • 保利发展前4个月销售额约876亿元,单月斥资128亿元获4个项目