facelessuser/wcmatch · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
Wildcard Match
概述
Wildcard Match 提供了一个增强的 fnmatch、glob 和 pathlib 库,旨在提供与 Bash 中常见功能更为接近的文件匹配和
globbing。在某些方面,这些库与 Python 的
内置库相似,因为它们提供了类似的接口来匹配、过滤和 glob 文件系统。但它们还包含
Bash globbing 中的一些功能,例如反斜杠转义、花括号展开、扩展 glob 模式组等。
它们还添加了许多新的实用函数,例如 globmatch,其功能类似于 fnmatch,但针对
路径。
Wildcard Match 还添加了一个名为 wcmatch 的文件搜索实用工具,它构建在 fnmatch 和 globmatch 之上。它
最初是为 Rummage 编写的,但后来被拆分到本项目中,以便
其他可能觉得其方法有用的项目使用。
Bash 在决定 fnmatch 和 glob 的行为时用作参考。行为可能会因 Bash 版本而异,但会尝试使 Wildcard Match 与最新的相关更改保持一致。话虽如此,在某些边缘情况下,我们可能有意选择不完全精确地镜像 Bash。如果发现 Wildcard Match 似乎以不合逻辑的方式偏离了 Bash,我们很乐意在
issue tracker 中听取您的反馈。
功能
Wildcard Match 功能的简要概述:
- 提供与 Python 内置的
fnmatch、glob和pathlib可比的接口。 - 在匹配或 glob 时,允许通过更多功能实现更高度可配置的体验。
- 在 glob 中添加对
**的支持。 - 添加对 Zsh 风格的
***符号链接递归 glob 的支持。 - 添加使用
\转义字符的支持。 - 添加对序列内 POSIX 风格字符类的支持:
[[:alnum:]]等。使用C区域设置。 - 添加对花括号展开的支持:
a{b,{c,d}}-->ab ac ad。 - 添加将
~或~username展开为相应用户路径的支持。 - 添加对扩展匹配模式的支持:
@(...)、+(...)、*(...)、?(...)和!(...)。 - 添加通过以路径为中心的
globmatch匹配路径名的能力。 - 提供使用 Wildcard Match 的
glob库而不是 Python 默认库的pathlib变体。 - 提供名为
wcmatch的替代文件爬虫。 - 等等...
安装
使用 pip 安装很简单:
pip install wcmatch
文档
https://facelessuser.github.io/wcmatch/
许可证
MIT