Sys.glob扩展

mch*_*gun 5 r filepath

我正在尝试使用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"
Run Code Online (Sandbox Code Playgroud)

但是这个命令不会返回任何内容.我不知道为什么它不起作用.

> Sys.glob(file.path("data/train", "apcp", "*"))
character(0)
Run Code Online (Sandbox Code Playgroud)

我想要"apcp"位作为它自己的参数,因为我将传递变量而不是硬编码字符串.

谢谢.

mne*_*nel 6

file.path("data/train", "apcp", "*")返回"data/train/apcp/*"file.path("data/train", "apcp*")返回 "data/train/apcp*".

因此,在第一种情况下,您正在子目录中查找文件apcp,而在(工作)情况下,您正在查找在目录中开始apcpdata\train文件.

如果您希望能够将apcp组件作为参数传递,则使用paste0将起作用

starting <- "apcp"

file.path("data/train", paste0(starting, '*', collapse =''))

# "data/train/apcp*"
Run Code Online (Sandbox Code Playgroud)