Расширение Sys.glob
Я пытаюсь использовать Sys.glob, чтобы открыть файл с именем "apcp_sfc_latlon_subset_19940101_20071231.nc".
Следующая команда работает:
> Sys.glob(file.path("data/train", "apcp*"))
[1] "data/train/apcp_sfc_latlon_subset_19940101_20071231.nc"
Но эта команда ничего не возвращает. Я не знаю, почему это не работает.
> Sys.glob(file.path("data/train", "apcp", "*"))
character(0)
Я хочу бит "apcp" в качестве собственного аргумента, потому что я буду передавать переменную вместо жестко закодированной строки.
Спасибо.
1 ответ
file.path("data/train", "apcp", "*")
возвращается "data/train/apcp/*"
в то время как file.path("data/train", "apcp*")
возвращается "data/train/apcp*"
,
Таким образом, в первом случае вы ищете файлы в подкаталоге apcp
, а в (рабочем) случае вы ищете файлы, которые начинаются apcp
в пределах data\train
каталог.
Если вы хотите быть в состоянии передать apcp
компонент в качестве аргумента, используя paste0
буду работать
starting <- "apcp"
file.path("data/train", paste0(starting, '*', collapse =''))
# "data/train/apcp*"