获取当前工作路径

> getwd()
[1] "/home/chen/projects/r"

列出当前工作区(local workspace)下的所有对象

> ls()
[1] "my_div"  "my_sqrt" "old.dir" "x"       "y"       "z"

这个跟linux的ls命令稍稍区别,列出的不是工作路径下的文件,而是workspace里的变量。像my_div这些变量都是上一节使用的,如果没有清空workspace,这些都在。

列出当前工作路径下的所有文件

> list.files() 
[1] "test.R"
> dir()
[1] "test.R"

list.files()里不加参数的时候,功能与dir()一致,可以通过?list.files的更深层次用法,比如可以递归的列出文件夹中的文件。

了解未知函数的参数有哪些

> args(list.files)
function (path = ".", pattern = NULL, all.files = FALSE, full.names = FALSE, 
    recursive = FALSE, ignore.case = FALSE, include.dirs = FALSE, 
    no.. = FALSE) 
NULL

将所需了解的函数放进args()里即可。

创建文件夹

> dir.create("testdir")

在当前工作路径下创建了一个名为testdir的文件夹。

修改工作路径

> setwd("testdir")

此时使用getwd()查看当前工作路径时就变为"/home/chen/projects/r/testdir"setwd()中的参数可以是绝对路径,这里写的是相对路径。

创建文件

> file.create("mytest.R")
[1] TRUE

判断一个文件是否存在

> file.exists("mytest.R")
[1] TRUE

获取文件的信息

> file.info("mytest.R")
         size isdir mode               mtime               ctime               atime  uid  gid uname grname
mytest.R    0 FALSE  664 2017-04-11 15:09:28 2017-04-11 15:09:28 2017-04-11 15:09:28 1000 1000  chen   chen

也可以获取特定信息,通过file.info("mytest.R")$mode,例如

> file.info("mytest.R")$isdir
[1] FALSE

查看是否是一个文件夹

重命名文件

> file.rename("mytest.R", "mytest2.R")
[1] TRUE

此时mytest.R文件已经不存在

拷贝文件

> file.copy("mytest2.R", "mytest3.R")
[1] TRUE

此时"mytest2.R"mytest3.R都存在。

创建相对路径

> file.path("folder1", "folder2", "folder3", "folder4")
[1] "folder1/folder2/folder3/folder4"

跟python的os.path.join有点相似。

递归创建文件夹

> dir.create(file.path('testdir2', 'testdir3'), recursive = TRUE)

此时,在当前路径下创建了testdir2文件夹,同时testdir2文件夹里有创建了testdir3

results matching ""

    No results matching ""