string D = @"C:\The\Search\Path";
// Assumes that the file system is case insensitive
HashSet<string> exts = new HashSet<string>(StringComparer.CurrentCultureIgnoreCase) { "jpg", "jpeg", "png" };
IEnumerable<string> L =
Directory
.EnumerateFiles(D, "*", SearchOption.AllDirectories)
.Where(currentFile => exts.Contains(Path.GetExtension(currentFile)));
immutable exts = ["jpg", "jpeg", "png"];
auto L = D.dirEntries(SpanMode.depth)
.map!(to!string)
.filter!(f => exts.canFind(f.split(".")[$-1]));
var extensions = [".jpg", "jpeg", ".png"];
var L = Directory(D)
.listSync(recursive: true)
.where((file) => extensions.contains(p.extension(file.path)))
.toList();
L := []string{}
err := filepath.Walk(D, func(path string, info os.FileInfo, err error) error {
if err != nil {
fmt.Printf("failure accessing a path %q: %v\n", path, err)
return err
}
for _, ext := range []string{".jpg", ".jpeg", ".png"} {
if strings.HasSuffix(path, ext) {
L = append(L, path)
break
}
}
return nil
})
List<File> L = new ArrayList<>();
void files(File d) {
File a[] = d.listFiles();
if (a == null) return;
String s;
int i;
for (File f : a)
if (f.isDirectory()) files(f);
else {
s = f.getName();
if ((i = s.lastIndexOf('.')) != -1)
switch (s.substring(++i)) {
case "jpg", "jpeg", "png" -> L.add(f);
}
}
}
L := FindAllFiles(D, '*.jpg;*.jpeg;*.png', True);
my @L;
find(sub {
push @L, $File::Find::name
if /(.jpg|.jpeg|.png)$/;
}, $D);
extensions = [".jpg", ".jpeg", ".png"]
L = [f for f in os.listdir(D) if os.path.splitext(f)[1] in extensions]
filtered_files = ["{}/{}".format(dirpath, filename) for dirpath, _, filenames in os.walk(D) for filename in filenames if re.match(r'^.*\.(?:jpg|jpeg|png)$', filename)]
list(itertools.chain(*(glob.glob("*/**.%s" % ext) for ext in ["jpg", "jpeg", "png"])))
extensions = [".jpg", ".jpeg", ".png"]
L = [f for f in glob.glob(os.path.join(D, "**/*"), recursive=True) if os.path.splitext(f)[1] in extensions]
L = Dir.glob(File.join("**", "*.{jpg,jpeg,png}"), base: D)
let d = Path::new("/path/to/D");
let l: Vec<PathBuf> = d
.read_dir()?
.filter_map(|f| f.ok())
.filter(|f| match f.path().extension() {
None => false,
Some(ex) => ex == "jpg" || ex == "jpeg" || ex == "png"
})
.map(|f| f.path())
.collect();