R语言:文件操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40628687/article/details/79249861

  在批量处理数据时,通常需要对文件或文件夹进行操作,下面将R语言中处理文件和文件夹的常用函数整理一下。

1、工作路径

getwd()        列出当前工作路径;

setwd(dir)    设置工作路径,参数dir是要设置的路径。


2、列出目录下文件

函数list.filesdir用法完全一样,可以列出路径下所有文件(包括目录);函数list.dirs只列出路径下所有目录。

list.files(path =".", pattern = NULL, all.files = FALSE,

           full.names = FALSE, recursive =FALSE,

           ignore.case = FALSE, include.dirs =FALSE, no.. = FALSE)

dir(path =".", pattern = NULL, all.files = FALSE,

    full.names = FALSE, recursive = FALSE,

    ignore.case = FALSE, include.dirs = FALSE,no.. = FALSE)

list.dirs(path =".", full.names = TRUE, recursive = TRUE)

参数:

path              路径,如不填则默认为当前工作路径,即getwd()得到的路径;

pattern          正则表达式,若pattern不为NULL,返回文件(目录)名满足该正则表达式的文件(目录);

all.files   若为FALSE则不显示隐藏文件(目录),若为TRUE则返回所有文件(目录);

full.names     若为FALSE则只返回文件(目录)名,若为TRUE则返回文件(目录)路径;

recursive       若为FALSE则只返回该路径的子级文件(目录),若为TRUE则返回所有子、孙文件(目录);

ignore.case   若为TRUE则在匹配pattern时不区分大小写;

include.dirs  recursiveTURE,即显示所有子、孙文件时,若include.dirsFALSE则只列出最终端的文件名,而不列出中间层级的目录名;

no..               若为TRUE,则不显示“.”“..”

 

3、新建目录

dir.create用于新建目录

dir.create(path, showWarnings = TRUE, recursive = FALSE,mode = "0777")

函数默认recursiveFALSE,即只新建path中的第一级子目录,而当recursiveTRUE时可以新建多级子目录。

值得注意的是,当目录已存在时不会新建目录覆盖原先的目录,此时如果showWarningsTRUE,则会提醒该目录已存在,为FALSE时不会提醒。

另外,参数mode是个Unix-alike参数。


4、复制

file.copy用于复制文件

file.copy(from, to, overwrite = recursive, recursive = FALSE,
          copy.mode = TRUE, copy.date = FALSE)

from是原始文件(目录)名,to是新文件(目录)名,二者可以是vector,但是长度需相同;

overwrite 若为TRUE,则文件被覆盖;

recursive 复制目录时recursive需为TRUE

copy.mode若为TRUEpermission bits一并复制过来;

copy.date若为TRUE,文件日期一并复制过来。


5、删除

函数unlink可以用来删除文件或目录,函数file.remove可以用来删除文件。

unlink(x, recursive = FALSE, force = FALSE)

x是要删除的文件或目录,可以是vector(即批量删除);当删除目录时,recursive应为TRUE,表示目录内文件一并删除。


6、重命名

file.rename用于重命名

file.rename(from, to)

from是原始文件(目录)名,to是新文件(目录)名,二者可以是vector,但是长度需相同。


7、查看文件是否存在

dir.exists(paths)

file.exists(paths)

参数paths可以是vector,即可以批量查看文件(目录)是否存在。

猜你喜欢

转载自blog.csdn.net/weixin_40628687/article/details/79249861