#file-path #env-var #file-search #path-buf #variables #find #finder

search_path

提供一个非常简单的搜索路径文件查找器

5个版本

0.1.4 2022年10月20日
0.1.3 2021年7月19日
0.1.2 2021年7月19日
0.1.1 2021年7月17日
0.1.0 2021年7月16日

文件系统中排名586

Download history 43/week @ 2024-03-17 29/week @ 2024-03-24 50/week @ 2024-03-31 50/week @ 2024-04-07 19/week @ 2024-04-14 18/week @ 2024-04-21 50/week @ 2024-04-28 6/week @ 2024-05-05 16/week @ 2024-05-12 27/week @ 2024-05-19 21/week @ 2024-05-26 20/week @ 2024-06-02 11/week @ 2024-06-09 75/week @ 2024-06-16 123/week @ 2024-06-23 6/week @ 2024-06-30

每月下载量217
6 Crates中使用(4个直接使用)

MIT许可证

18KB
204 代码行

搜索路径 Crate

提供一个非常简单的搜索路径文件查找器。

MIT License Minimum Rust Version crates.io docs.rs Build Audit GitHub stars


SearchPath 类型允许通过一系列搜索目录来查找文件。这与 shell 使用 PATH 环境变量查找可执行文件的机制类似。它可以由环境变量、字符串或字符串/ Path/PathBuf 值的列表构造。通常,find 方法返回第一个匹配的文件或目录,但 find_all 方法专门收集并返回所有匹配路径的列表。

构造函数

SearchPath 类型还实现了 PathBufVec<PathBuf>Vec<&Path>Vec<&str>String&strFrom<> 实现。在向量值的情况下,或单个 PathBuf,每个路径值将按原样使用,而不会尝试将其拆分成组件。在单个 String&str 值的情况下,值将使用平台特定的路径分隔符拆分成单独的路径组件。

示例

以下示例展示了在命令行中查找可执行命令的常见模式。

use search_path::SearchPath;
use std::path::PathBuf;

fn which_command(cmd_name: &str) -> Option<PathBuf> {
    let search_path = SearchPath::new("PATH").unwrap();
    search_path.find_file(&PathBuf::from(cmd_name))
}

变更

版本 0.1.4

  • 添加了新的构造函数 path,作为简单的快捷方式。

版本 0.1.3

  • 实现了 IntoIterator 以提取路径。

版本 0.1.2

  • 添加了去重方法。

版本 0.1.1

  • 完成文档。
  • 添加了 Github 构建。
  • 修复了 Windows 构建测试用例中的错误。

版本 0.1.0

  • 初次提交。

无运行时依赖