os.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,并且path与pathlib相比有几个优势
path将Path对象实现为str的子类,因此这些Path对象可以直接传递给其他API,这些API期望路径的简单文本表示,而在pathlib中,必须首先将值转换为字符串,然后再传递给不遵守PEP 519 PathLike接口的API。
path 提供了超越暴露路径基本功能的生活质量特性。 path 提供了如 rmtree(来自 shlib)和 remove_p(如果存在则删除文件)等方法,以及如 .permissions 这样的属性,还有复杂的 walk、TempDir 和 chmod 行为。
作为一个托管在 PyPI 的包,path 可以比 stdlib 包更快地迭代。欢迎并鼓励贡献。
path 通过对其单个 Path 对象的统一抽象提供高级的可移植性,使实现者可以轻松地对其进行子类化。不能对 pathlib.Path 进行子类化以添加功能,但必须对 Path、PosixPath 和 WindowsPath 进行子类化,即使是添加一个 __dict__ 到子类实例这样的简单操作。相反,path 允许子类覆盖 Path.module 对象,默认为 os.path。即使是那些对 path.Path 进行子类化的高级用法也不必担心特定于操作系统的细微差别。 path.Path 对象本质上是“纯”的,不需要作者区分纯和非纯版本。
此路径项目明确旨在在可能的情况下与 pathlib 对象兼容,以便 path.Path 对象可以作为 pathlib.Path* 对象的直接替换。此项目欢迎贡献以改善其不足的兼容性。
起源
path.py 项目最初于 2003 年由 Jason Orendorff 发布,多年来由几位维护者不断开发和维护。
针对企业
作为 Tidelift 订阅的一部分提供。
本项目以及成千上万个其他包的维护者正在与 Tidelift 合作,提供一项企业订阅,涵盖您使用的所有开源软件。
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。