【问题标题】:Working with user directories with directories and glob in rust在 rust 中使用带有目录和 glob 的用户目录
【发布时间】:2020-07-30 01:03:00
【问题描述】:

我正在尝试学习 rust,我目前的目标是能够在子文件夹下的用户文档目录中找到 .js 文件。

我目前可以列出该子文件夹中的所有 js 文件。

    if let Some(user_dir) = UserDirs::new() {
        let script_path = user_dir.document_dir().unwrap().join("test").join("**").join("*.js");
        dbg!(&script_path);
        for script in glob(script_path.to_str().unwrap()).unwrap(){
            dbg!(script);
        }
    }

在文件夹 test 不存在的情况下,这将不起作用。 我将如何继续处理这种情况并进一步创建文件夹 test?

【问题讨论】:

    标签: rust directory glob


    【解决方案1】:

    在文件夹 test 不存在的情况下,这将不起作用。我将如何处理这个案子

    存储中间路径并调用Path::exists

    还要创建文件夹test?

    fs::create_dir_all.

    【讨论】:

    • 所以我不得不这样做?没办法我可以使用错误处理程序?最后,似乎我必须解开脚本变量 insise glob,这是为什么呢?会抛出什么错误?
    • “所以我不得不这样做?我不能使用错误处理程序吗?”为什么你会得到一个错误处理程序?通配不存在的路径没有错误。
    • “看来我必须解开脚本变量 insise glob,这是为什么呢?”不会,你可以正确处理错误
    • " 会抛出什么错误?"如果您的模式无效,docs.rs/glob/0.3.0/glob/fn.glob.html glob 将返回错误。
    • 不,如果模式无效,则模式无效,仅此而已。 glob 语法非常简单,但仍有可能出现无效模式,glob 将这些显示为错误。查看源代码,可能的错误是连续超过 2 个*,未闭合的括号,以及** 前后没有路径分隔符。
    猜你喜欢
    • 2020-02-27
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多