我想使用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