Расширение 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*"
Другие вопросы по тегам