跳转到主要内容

os.path的模块包装器

项目描述

https://img.shields.io/pypi/v/path.svg https://img.shields.io/pypi/pyversions/path.svg tests Ruff https://readthedocs.org/projects/path/badge/?version=latest https://img.shields.io/badge/skeleton-2024-informational https://tidelift.com/badges/package/pypi/path

path(也称为path pie,以前称为path.py)实现路径对象作为一等实体,允许直接在路径对象上调用文件操作。例如

from path import Path

d = Path("/home/guido/bin")
for f in d.files("*.py"):
    f.chmod(0o755)

# Globbing
for f in d.files("*.py"):
    f.chmod("u+rwx")

# Changing the working directory:
with Path("somewhere"):
    # cwd in now `somewhere`
    ...

# Concatenate paths with /
foo_txt = Path("bar") / "foo.txt"

Path pie托管在Github上。

在此找到文档

指南和评价

Yasoob基于path编写了Python 101的编写清理脚本

优势

Path pie提供了比类似产品更好的体验。

Python 3.4引入了pathlib,它与path共享许多特性。特别是,它为表示文件系统路径提供了一个对象封装。人们可能认为pathlib将取代path

但实现和用法很快 diverge,并且pathpathlib相比有几个优势

  • pathPath对象实现为str的子类,因此这些Path对象可以直接传递给其他API,这些API期望路径的简单文本表示,而在pathlib中,必须首先将值转换为字符串,然后再传递给不遵守PEP 519 PathLike接口的API。

  • path 提供了超越暴露路径基本功能的生活质量特性。 path 提供了如 rmtree(来自 shlib)和 remove_p(如果存在则删除文件)等方法,以及如 .permissions 这样的属性,还有复杂的 walkTempDirchmod 行为。

  • 作为一个托管在 PyPI 的包,path 可以比 stdlib 包更快地迭代。欢迎并鼓励贡献。

  • path 通过对其单个 Path 对象的统一抽象提供高级的可移植性,使实现者可以轻松地对其进行子类化。不能对 pathlib.Path 进行子类化以添加功能,但必须对 PathPosixPathWindowsPath 进行子类化,即使是添加一个 __dict__ 到子类实例这样的简单操作。相反,path 允许子类覆盖 Path.module 对象,默认为 os.path。即使是那些对 path.Path 进行子类化的高级用法也不必担心特定于操作系统的细微差别。 path.Path 对象本质上是“纯”的,不需要作者区分纯和非纯版本。

此路径项目明确旨在在可能的情况下与 pathlib 对象兼容,以便 path.Path 对象可以作为 pathlib.Path* 对象的直接替换。此项目欢迎贡献以改善其不足的兼容性。

起源

path.py 项目最初于 2003 年由 Jason Orendorff 发布,多年来由几位维护者不断开发和维护。

针对企业

作为 Tidelift 订阅的一部分提供。

本项目以及成千上万个其他包的维护者正在与 Tidelift 合作,提供一项企业订阅,涵盖您使用的所有开源软件。

了解更多信息.

项目详细信息


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

path-17.0.0.tar.gz (49.7 KB 查看哈希值

上传时间 源代码

构建分发

path-17.0.0-py3-none-any.whl (24.8 KB 查看哈希值

上传于 Python 3

由以下支持