R语言文件目录操作

R语言对目录和文件的基本操作方法

在批量处理数据时,通常需要对文件或文件夹进行操作,下面将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,即可以批量查看文件(目录)是否存在。

  • 发表于 2018-08-01 15:56
  • 阅读 ( 11313 )
  • 分类:R

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

700 篇文章

作家榜 »

  1. omicsgene 700 文章
  2. 安生水 348 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 75 文章
  8. CORNERSTONE 72 文章