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

  • 相关阅读:
    C# 异步锁
    C#异步编程基础入门总结
    C#异步编程基础入门总结
    C#与数据结构--图的遍历
    C#中IEumerable的简单了解
    C# prism 框架 MVVM框架 Prism系列之事件聚合器
    .NET Core 3 WPF MVVM框架 Prism系列之对话框服务
    C# prism 框架
    TaskAwaiter<TResult> 结构
    利用Eventlog Analyzer分析日志
  • 原文地址:https://www.cnblogs.com/jpld/p/15676663.html
Copyright © 2011-2022 走看看