我在几个文件夹中有大量文件.我可以得到这些文件的列表;
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().
实现此目的的矢量化方法不是循环(隐式或显式),而是通过file.info:
objs <- file.info(list.files("~", full.names=TRUE))
rownames(objs)[objs$size > 50e6]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2809 次 |
| 最近记录: |