跳转到主要内容

ignore crate的Python绑定

项目描述

rignore 🚀🐍

rignore 是一个Python模块,它提供了一个高性能的、由Rust驱动的文件系统遍历功能。它使用 PyO3 包装Rust的 ignore crate,提供了一个高效的方式来遍历目录,同时尊重各种忽略规则。

✨ 特性

  • 🚀 由Rust驱动的快速目录遍历
  • 🙈 尊重 .gitignore 规则
  • 🛠️ 可定制的忽略模式
  • 💾 高效的内存使用
  • 🐍 易用的Python API

📦 安装

您可以使用 pip 安装 rignore

pip install rignore

🚀 使用方法

rignore 提供的主要函数是 walk,它返回文件路径的迭代器

import rignore

for file_path in rignore.walk("/path/to/directory"):
    print(file_path)

🔧 高级使用

walk 函数接受几个可选参数以自定义其行为

rignore.walk(
    path,
    ignore_hidden=None,
    read_ignore_files=None,
    read_parents_ignores=None,
    read_git_ignore=None,
    read_global_git_ignore=None,
    read_git_exclude=None,
    require_git=None,
    additional_ignores=None,
    additional_ignore_paths=None,
    max_depth=None,
    max_filesize=None,
    follow_links=None,
    case_insensitive=None,
    same_file_system=None,
    filter_entry=None,
)

📝 参数

  • path (str):从该根目录开始遍历。
  • ignore_hidden (bool,可选):是否忽略隐藏文件和目录。
  • read_ignore_files (bool,可选):是否读取 .ignore 文件。
  • read_parents_ignores (bool,可选):是否从父目录中读取忽略文件。
  • read_git_ignore (bool,可选):是否尊重 .gitignore 文件。
  • read_global_git_ignore (bool,可选):是否尊重全局Git忽略规则。
  • read_git_exclude (bool,可选):是否尊重Git排除文件。
  • require_git (bool,可选):是否需要目录是Git仓库。
  • additional_ignores (List[str],可选):应用额外的忽略模式。
  • additional_ignore_paths (List[str],可选):读取额外的忽略文件路径。
  • max_depth (int,可选):遍历的最大深度。
  • max_filesize (int,可选):考虑的最大文件大小(以字节为单位)。
  • follow_links (bool,可选):是否跟随符号链接。
  • case_insensitive (布尔值,可选):是否对忽略模式使用不区分大小写的匹配。
  • same_file_system (布尔值,可选):是否保持在同一文件系统。
  • filter_entry (Callable[[str, bool],可选):自定义过滤函数以排除条目。

⚡ 性能

rignore 利用 Rust 的强大功能提供高性能的目录遍历。它比纯 Python 实现快得多,尤其是在大型目录结构中。

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

📄 许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。

🙏 致谢

  • ignore - 为本项目提供动力的 Rust crate
  • PyO3 - 用于创建 Rust 代码 Python 绑定的库

项目详情


下载文件

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

源代码分发

rignore-0.5.1.tar.gz (13.1 kB 查看哈希值)

上传时间 源代码

构建分发

rignore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传时间 PyPy musllinux: musl 1.2+ x86-64

rignore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传时间 PyPy musllinux: musl 1.2+ i686

rignore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希值)

上传时间 PyPy musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希值)

上传时间 PyPy musllinux: musl 1.2+ ARM64

rignore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (940.9 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64

rignore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (977.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ s390x

rignore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (966.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (865.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (906.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

rignore-0.5.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (959.2 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.5+ i686

rignore-0.5.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 PyPy musllinux: musl 1.2+ x86-64

rignore-0.5.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传于 PyPy musllinux: musl 1.2+ i686

rignore-0.5.1-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希值)

上传于 PyPy musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希值)

上传于 PyPy musllinux: musl 1.2+ ARM64

rignore-0.5.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (941.6 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

rignore-0.5.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (979.9 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.17+ s390x

rignore-0.5.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (968.0 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (867.8 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (908.6 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

rignore-0.5.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (960.2 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.5+ i686

rignore-0.5.1-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希)

上传时间 PyPy musllinux: musl 1.2+ x86-64

rignore-0.5.1-pp38-pypy38_pp73-musllinux_1_2_i686.whl (1.1 MB 查看哈希)

上传时间 PyPy musllinux: musl 1.2+ i686

rignore-0.5.1-pp38-pypy38_pp73-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希)

上传时间 PyPy musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希)

上传时间 PyPy musllinux: musl 1.2+ ARM64

rignore-0.5.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (979.6 kB 查看哈希)

上传于 PyPy manylinux: glibc 2.17+ s390x

rignore-0.5.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (967.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (867.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (909.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

rignore-0.5.1-cp312-none-win_amd64.whl (717.1 kB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

rignore-0.5.1-cp312-none-win32.whl (639.9 kB 查看哈希值)

上传于 CPython 3.12 Windows x86

rignore-0.5.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ x86-64

rignore-0.5.1-cp312-cp312-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ i686

rignore-0.5.1-cp312-cp312-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-cp312-cp312-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ ARM64

rignore-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (938.5 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

rignore-0.5.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (976.6 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ s390x

rignore-0.5.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (963.6 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (865.0 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (905.4 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

rignore-0.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (955.0 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.5+ i686

rignore-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (807.2 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

rignore-0.5.1-cp312-cp312-macosx_10_12_x86_64.whl (859.1 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.12+ x86-64

rignore-0.5.1-cp311-none-win_amd64.whl (717.9 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

rignore-0.5.1-cp311-none-win32.whl (642.0 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

rignore-0.5.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ x86-64

rignore-0.5.1-cp311-cp311-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ i686

rignore-0.5.1-cp311-cp311-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-cp311-cp311-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ ARM64

rignore-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (938.9 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

rignore-0.5.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (975.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ s390x

rignore-0.5.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (964.6 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (865.3 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (905.7 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

rignore-0.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (956.8 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.5+ i686

rignore-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (807.9 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

rignore-0.5.1-cp311-cp311-macosx_10_12_x86_64.whl (860.0 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.12+ x86-64

rignore-0.5.1-cp310-none-win_amd64.whl (717.9 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

rignore-0.5.1-cp310-none-win32.whl (641.8 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

rignore-0.5.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ x86-64

rignore-0.5.1-cp310-cp310-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ i686

rignore-0.5.1-cp310-cp310-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-cp310-cp310-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ ARM64

rignore-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (939.1 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

rignore-0.5.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (975.9 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ s390x

rignore-0.5.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (964.3 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (865.4 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (905.8 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ ARM64

rignore-0.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (957.4 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.5+ i686

rignore-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (807.7 kB 查看哈希值)

上传时间 CPython 3.10 macOS 11.0+ ARM64

rignore-0.5.1-cp39-none-win_amd64.whl (718.3 kB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

rignore-0.5.1-cp39-none-win32.whl (642.2 kB 查看哈希值)

上传时间 CPython 3.9 Windows x86

rignore-0.5.1-cp39-cp39-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.2+ x86-64

rignore-0.5.1-cp39-cp39-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.2+ i686

rignore-0.5.1-cp39-cp39-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-cp39-cp39-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.2+ ARM64

rignore-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (939.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

rignore-0.5.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (977.3 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ s390x

rignore-0.5.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (965.4 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (866.1 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (906.1 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

rignore-0.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (958.5 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.5+ i686

rignore-0.5.1-cp39-cp39-macosx_11_0_arm64.whl (808.3 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

rignore-0.5.1-cp38-none-win_amd64.whl (718.2 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

rignore-0.5.1-cp38-none-win32.whl (642.0 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

rignore-0.5.1-cp38-cp38-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ x86-64

rignore-0.5.1-cp38-cp38-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ i686

rignore-0.5.1-cp38-cp38-musllinux_1_2_armv7l.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ ARMv7l

rignore-0.5.1-cp38-cp38-musllinux_1_2_aarch64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ ARM64

rignore-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (939.4 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

rignore-0.5.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (977.1 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ s390x

rignore-0.5.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (965.1 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ppc64le

rignore-0.5.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (865.3 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARMv7l

rignore-0.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (906.4 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

rignore-0.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (957.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.5+ i686

rignore-0.5.1-cp38-cp38-macosx_11_0_arm64.whl (808.0 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

rignore-0.5.1-cp38-cp38-macosx_10_12_x86_64.whl (860.3 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.12+ x86-64

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面