gpt4 book ai didi

windows - 路径::read_dir和Windows

转载 作者:行者123 更新时间:2023-12-03 11:43:14 24 4
gpt4 key购买 nike

这是一个显示目录内容的简单测试应用程序:

fn main() {
let mut p = PathBuf::from(r"c:");
println!("drive 1: {}", p.to_str().unwrap());
p.push(std::path::MAIN_SEPARATOR.to_string());
println!("drive 2: {}", p.to_str().unwrap());
p.push(r"*.*");
println!("drive 3: {}", p.to_str().unwrap());

println!("root: {}", p.to_str().unwrap());
match fs::read_dir(p) {
Ok(x) => {
for path in x {
println!("path: {:?}", path);
}
}
Err(why) => {
println!("Error: {}", why);
}
};
}

输出为:

drive 1: c:  
drive 2: c:\
drive 3: c:\\*.*
walk_dir: root: c:\\*.*
Error: The filename, directory name, or volume label syntax is incorrect. (os error 123)
println!将遵循我的前进路径。当我从函数中引入 match语句时,请原谅变量名,以使其更易于阅读。

当我将最终路径 c:\*.*剪切并粘贴到带有 dir的命令提示符中时,它可以按预期工作。

我知道这不是字符串的内容,而是我在做什么。

最佳答案

这是对read_dir中的输入参数的误解。

我当时以为read_dir需要一个类似于Windows dir命令行或UNIX/Linux ls命令的字符串。也就是说,我给它c:\\*.*期望c:驱动器根目录中的所有文件。

相反,read_dir只需要没有文件规范的根目录。排序/过滤将在稍后进行。

起作用的输入只是C:\\.

关于windows - 路径::read_dir和Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61646117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com