2014-09-27 221 views
17

如何列出Rust中目录的所有文件?我正在寻找相当于下面的Python代码。如何列出Rust中目录的文件?

files = os.listdir('./') 
+3

你有什么尝试?这似乎是对文档应该回答的快速浏览。 – delnan 2014-09-27 15:05:48

+5

'std :: io :: fs :: readdir' – Levans 2014-09-27 16:04:32

回答

13

您也可以使用glob,明确是为此目的。

extern crate glob; 
use self::glob::glob; 

let files:Vec<Path> = glob("*").collect(); 
+2

这不起作用:''特征绑定'[u8]:std :: marker :: Sized'在'std :: path :: Path中不被满足''(在'std :: path :: Path'中,'std :: marker :: Sized'这个特征没有为'[u8]'实现)[E0277] '[u8]'没有一个常量大小在编译时已知[E0277] 需要,因为它出现在类型'std :: path :: Path'中[E0277] 需要'std :: vec :: Vec' [E0277]'' – Zelphir 2017-10-29 20:33:35

27

这里的an example

use std::fs; 

fn main() { 
    let paths = fs::read_dir("./").unwrap(); 

    for path in paths { 
     println!("Name: {}", path.unwrap().path().display()) 
    } 
} 

它只是遍历文件和打印出他们的名字。