我正在尝试使用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”位作为其自己的参数,因为我将传递变量而不是硬编码的字符串。
谢谢你。
最佳答案
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*"
关于r - Sys.glob扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17938916/