zoukankan      html  css  js  c++  java
  • 一个超好用的 Python 标准库,彻底玩透路径操作

    pathlib

    学习 Python 时,尤其是在进行文件操作和数据处理时,经常会处理路径问题。最常用和常见的是 os.path 模块,它将路径当做字符串进行处理,如果使用不当可能导致难以察觉的错误,而且代码很难跨平台复用。pathlib 就是一个非常棒的Python标准库,超级好用。

    pathlib模块提供了一种在 POSIX 系统(如 Linux 和 Windows)下运行良好的高级抽象。pathlib 抽象了资源路径和资源命名结构,它把文件系统接口从os模块中隔离出来,将操作作为方法提供,使用更简单。

    下面这张图,完美诠释pathlib的核心

    pathlib 基本组件

    >>> from pathlib import Path
    
    >>> path = Path(r'C:/Users/Miguel/projects/blog/config.tar.gz')
    
    >>> path.drive
    'C:'
    
    >>> path.root
    '/'
    
    >>> path.root
    'C:/'
    
    >>> path.parent
    WindowsPath('C:/Users/Miguel/projects/blog')
    
    >>> path.name
    'config.tar.gz'
    
    >>> path.stem
    'config.tar'
    
    >>> path.suffix
    '.gz'
    
    >>> path.suffixes
    ['.tar', '.gz']
    
    

    常用属性和基本方法

    pathlib的常用属性

    Path.parents  # 返回所有上级目录的列表
    
    Path.parts  # 分割路径 类似os.path.split(), 不过返回元组
    
    Path.suffix   # 返回文件后缀
    
    

    pathlib的常用基本方法

    Path.is_dir()  # 判断是否是目录
    
    Path.is_file()  # 是否是文件
    
    Path.exists()  # 判断路径是否存在
    
    Path.open()  # 打开文件(支持with)
    
    Path.resolve()  # 返回绝对路径
    
    Path.cwd()  # 返回当前目录
    
    Path.iterdir()  # 遍历目录的子目录或者文件
    
    Path.mkdir()  # 创建目录
    
    Path.rename()  # 重命名路径
    
    Path.unlink()  # 删除文件或目录(目录非空触发异常)
    
    Path.joinpath()  # 拼接路径
    

    os and os.path VS pathlib

    pathlib 可替代 os 和 os.path 的常用功能:

    总结

    pathlib 将路径作为对象创建,提供了处理文件路径的方便快捷的方法。

    本文我并没有罗列pathlib的每一个用法,最核心的是要充分理解 pathlib 基本组件,然后有疑问去查文档即可。

    参考:
    https://miguendes.me/python-pathlib
    https://docs.python.org/3/library/pathlib.html
    https://www.cnblogs.com/poloyy/p/12435628.html

  • 相关阅读:
    SVN
    git
    电商架构
    django
    linux单项目发布流程
    pandas的基本功能(一)
    Swift 添加自定义响应事件
    Swfit中视图跳转
    移动设备默认不播放媒体文件间接解决办法
    HTML5 使用sessionStorage实现页面返回刷新
  • 原文地址:https://www.cnblogs.com/jpld/p/15676663.html
Copyright © 2011-2022 走看看