rust - 如何按扩展名过滤文件名列表?
问题描述
我设法从一个路径读取所有文件到 a Vec
,现在我想按扩展名过滤。
let path = Path::new(r"C:\Testpath");
let mut faxvec: Vec<String> = Vec::new();
for element in path.read_dir().unwrap() {
// if match element
faxvec.push(element);
}
我只想将文件推送到以“.txt”结尾的向量
解决方案
也许您正在寻找以下方面的东西:
fn main() {
let mut faxvec: Vec<std::path::PathBuf> = Vec::new();
for element in std::path::Path::new(r"C:\Testpath").read_dir().unwrap() {
let path = element.unwrap().path();
if let Some(extension) = path.extension() {
if extension == "txt" {
faxvec.push(path);
}
}
}
}
推荐阅读
- c++ - 如何将负整数传递给 COM/OLE 函数?
- java - JavaFX:如何实现“无默认焦点按钮”
- java - 如何在 JLabel 或 JEditorPane 中指定选择
- reactjs - 根据 ReferenceInput 的选定记录属性有条件地呈现字段
- apache-flink - How does Flink treat checkpoints and state within IterativeStream?
- cmake - cray CC 包装器 cmake find_package blas
- design-patterns - 有限制的复合模式
- html - WCAG 和屏幕阅读器 - 标记 a
带着 标签,而不是让标签读取两次 - python - 如何从列表中删除所有子列表?
- python - 使用 Jira-Python 执行线程偶尔会导致 401 错误