Подтвердить что ты не робот

Поиск файлов в папке

Я пытаюсь разобрать много текстовых файлов с помощью Julia, и я хочу перебрать массив имен файлов вместо того, чтобы вводить вызов функции, чтобы читать каждый из них по отдельности. До сих пор мне не удалось найти способ поиска папки для файлов, соответствующих шаблону.

Есть ли функция библиотеки Julia базы данных, которая вернет все имена файлов в данной папке, соответствующие заданному шаблону строки?

Эквивалентная функция в R будет list.files(), если это поможет сообщить, что я хочу.

4b9b3361

Ответ 1

В Юлии эквивалент list.files() равен readdir([path])

Нет встроенного поиска в каталоге, который я знаю, но это однострочный:

searchdir(path,key) = filter(x->contains(x,key), readdir(path))

Ответ 2

Альтернативным решением является использование пакета Glob.jl. Например, если в вашем каталоге имеется следующий список файлов:

foo1.txt
foo2.txt
foo3.txt
bar1.txt
foo.jl

и вы хотите найти все текстовые файлы, начинающиеся с "foo", вы должны написать

using Glob
glob("foo*.txt") #if searching the working directory
#output:
#"foo1.txt"
#"foo2.txt"
#"foo3.txt"
glob("foo*.txt","path/to/dir") #for specifying a different directory
#output:
#"path/to/dir/foo1.txt"
#"path/to/dir/foo2.txt"
#"path/to/dir/foo3.txt"