rust获取当前路径的文件或者目录

在Rust中,你可以使用`std::fs`模块来获取当前路径的所有文件和目录。以下是一个示例代码,它使用`std::fs::read_dir`函数来列出当前目录中的所有条目,并区分文件和目录:

```rust
use std::fs;
use std::path::Path;

fn main() {
    // 获取当前目录的路径
    let current_dir = env!("CARGO_MANIFEST_DIR");
    let path = Path::new(current_dir);

    // 读取当前目录中的所有条目
    match fs::read_dir(path) {
        Ok(entries) => {
            for entry in entries {
                match entry {
                    Ok(entry) => {
                        let path = entry.path();
                        if path.is_dir() {
                            // 打印目录
                            println!("目录: {}", path.display());
                        } else {
                            // 打印文件
                            println!("文件: {}", path.display());
                        }
                    }
                    Err(e) => eprintln!("无法读取条目: {}", e),
                }
            }
        }
        Err(e) => eprintln!("无法读取目录: {}", e),
    }
}
```

这段代码首先使用`env!("CARGO_MANIFEST_DIR")`宏来获取当前项目的根目录路径,然后使用`fs::read_dir`函数读取该目录中的所有条目。对于每个条目,它检查条目是否是目录或文件,并相应地打印出来。

请注意,这个示例代码在运行时会列出项目根目录中的所有文件和目录,如果你想列出其他目录的内容,你需要修改`current_dir`变量的值,或者使用`std::env::current_dir`来获取并列出当前工作目录的内容。

此外,由于权限问题或文件系统错误,读取目录条目时可能会发生错误,所以示例代码中使用了错误处理来处理这些情况。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值