2014-09-27 3 views
17

Как я могу перечислить все файлы каталога в Rust? Я ищу эквивалент следующего кода Python.Как я могу перечислить файлы каталога в Rust?

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

Что вы пробовали? Это похоже на то, на что следует быстро взглянуть на документацию. – delnan

+5

'std :: io :: fs :: readdir' – Levans

ответ

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

27

Вот an example:

use std::fs; 

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

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

Это будет просто перебирать файлы и распечатать их имена.

Смежные вопросы