【发布时间】:2018-06-29 08:48:00
【问题描述】:
我正在用 Python 实现 C 程序的一部分。该程序使用glob(3) 来查找与模式匹配的路径名。这是一个对应于glob(7) shell 内置函数的 C 函数。它们在 POSIX.2 中指定。
什么是 POSIX glob(3) 在 Python 中的等价物?
我查看了glob 标准模块,但我对文档感到担心:它在任何地方都没有提到 POSIX,使用模糊术语“shell-like”并且有一些非标准扩展,例如 wildstar ** 模式用于递归扩展。
如果我不使用recursive 标志,使用glob.glob 函数是否安全?
我的要求是:
- 应该匹配
glob(3)的结果,错误处理可能不同 - 应该适用于 Python 2 和 Python 3
- 仅需要 Linux 支持
- 提到 PyPi 包的答案很好,我更喜欢可以审计和销售的较小的包。
- 我可以使用 ctypes,但我正在寻找 Pythonic 解决方案
【问题讨论】:
-
我认为您有责任确定
glob.glob是否足够。 Python 是开源的,您可以自行审核以确定它是否符合您的要求。 -
感谢您的回复。我最终使用了 ctypes 但打开了一张票以查看
glob.glob并最终切换到它。