我想使用Julia分析很多文本文件,并且我想循环遍历一个文件名的数组,而不是输入一个函数调用来逐个读取它们。到目前为止,我一直无法找到一种方法来搜索文件夹中匹配模式的文件。搜索文件夹中的文件
是否有一个基础库Julia函数将返回给定文件夹中的所有文件名,匹配给定的字符串模式?
R中的等价函数应该是list.files()
,如果这有助于传达我想要的内容。
我想使用Julia分析很多文本文件,并且我想循环遍历一个文件名的数组,而不是输入一个函数调用来逐个读取它们。到目前为止,我一直无法找到一种方法来搜索文件夹中匹配模式的文件。搜索文件夹中的文件
是否有一个基础库Julia函数将返回给定文件夹中的所有文件名,匹配给定的字符串模式?
R中的等价函数应该是list.files()
,如果这有助于传达我想要的内容。
在朱莉娅,相当于list.files()
是readdir([path])
没有内置的目录搜索,我知道的,但它是一个班轮:
searchdir(path,key) = filter(x->contains(x,key), readdir(path))
的替代解决方案是使用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"
作为补充:类似'contains'函数可能有用:'isfile','isdir','startswith','endswith'。 – crstnbr