list.files考虑到R中的文件大小?

Eco*_*Tom 4 r file

我在几个文件夹中有大量文件.我可以得到这些文件的列表;

MY_FILES <- list.files(WORKING_DIRECTORY, pattern = "MY_PATTERN", recursive = TRUE)
Run Code Online (Sandbox Code Playgroud)

大多数(但不是全部)文件都大于50Mb.如何修改list.files呼叫,以便MY_FILES仅包含高于50Mb阈值的呼叫?或者之后我还需要另一个步骤来分组MY_FILES吗?(不知道如何做到这一点,因为只list.files返回一个名称向量,没有关于文件的详细信息)

我需要坚持使用R,因为这只是一系列数据操作中的一步.谢谢.

Rom*_*rik 11

当然,只需获取文件大小.

x <- list.files(full.names = TRUE)

x[sapply(x, file.size) > 300000]
[1] "./hami.jpg"          "./process_steps.jpg" "./shp_sveta.png"
Run Code Online (Sandbox Code Playgroud)

在这里,我只分配大于300kB的文件.请注意,atom.jpg子集中不包含其他较小的文件.您应该使用full.names参数来访问不在的文件getwd().

在此输入图像描述


Hon*_*Ooi 6

实现此目的的矢量化方法不是循环(隐式或显式),而是通过file.info

objs <- file.info(list.files("~", full.names=TRUE))
rownames(objs)[objs$size > 50e6]
Run Code Online (Sandbox Code Playgroud)