日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

總結(jié) | R語言文件與文件夾操作匯總

 育種數(shù)據(jù)分析 2021-11-18

有時(shí)候,編寫代碼時(shí),需要查看一下當(dāng)前文件夾的內(nèi)容,有時(shí)候需要?jiǎng)?chuàng)建文件或者文件夾,之前都是在windows系統(tǒng)或者Linux系統(tǒng)下創(chuàng)建好,但總不夠原滋原味。這里,總結(jié)一下常用的文件創(chuàng)建,文件夾創(chuàng)建,判斷是否存在,文件復(fù)制,文件刪除等操作。

「太長不看版:」

## 瀏覽功能
dir # 瀏覽整體文件及文件夾
list.files # 瀏覽文件
list.dirs # 瀏覽文件夾

## 判斷功能
file.exists # 判斷文件是否存在
dir.exists # 判斷文件夾是否存在

## 創(chuàng)建功能
file.create # 創(chuàng)建文件
dir.create # 創(chuàng)建文件夾

## 重命名功能
file.rename # 重命名文件和文件夾

## 刪除功能
file.remove # 刪除文件
unlink # 刪除文件夾

## 復(fù)制功能
file.copy # 復(fù)制文件

1. 文件瀏覽

共有三個(gè):

  • dir() # 全部的文件和文件夾
  • list.files() # 全部的文件
  • list.dirs() # 全部的文件夾

「語法:」

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

list.files(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)

「舉個(gè)例子:」

「R語言實(shí)現(xiàn):」

# 瀏覽功能

## 瀏覽全部
dir()

## 瀏覽文件夾
list.dirs()

## 瀏覽文件
list.files()

2. 判斷文件和文件夾是否存在

編寫代碼時(shí),經(jīng)常用到,如果不存在文件夾,就創(chuàng)建文件夾?;蛘呷绻淮嬖谀硞€(gè)文件,就怎么樣……

「file只能判斷文件,dir只能判斷文件夾」

file.exists("1.txt")
file.exists("單位.txt")

file.exists("文件夾1/")

dir.exists("單位.txt")
dir.exists("文件夾1/")

3. 文件復(fù)制

file.copy只能復(fù)制文件,不能復(fù)制文件夾,如果復(fù)制成功,會(huì)出現(xiàn)TRUE,不成功是返回FALSE

# 文件復(fù)制
file.copy("單位.txt","aaa.txt")
list.files()

file.copy("文件夾1/","file_dir_copy_test")
list.files()

4. 文件重命名

file.rename,可以修改文件名,不可以修改文件夾名

# 文件移動(dòng)或重命名
file.rename("aaa.txt","bbb.txt")
dir()

file.remove("文件夾1 - 副本/","direc_test")

5. 文件和文件夾刪除

「文件刪除file.remove

# 刪除,remove
dir()
file.remove("aaa.txt")
dir()

「文件夾刪除unlink

文件夾刪除:unlink

注意,要?jiǎng)h除文件夾:

  • 不要寫/, 比如unlink("a/"),是不會(huì)成功的
  • 要加上參數(shù),recursive = T

完整的寫法:

dir()
unlink("新建文件夾/",recursive = T)
dir()

unlink("新建文件夾",recursive = T)
dir()

5. 文件和文件夾創(chuàng)建

「文件創(chuàng)建:file.create

> file.create("a1.txt")
[1] TRUE

「文件夾創(chuàng)建:file.create

> dir.create("file1")
>

6. 匯總

6.1 dir前綴的函數(shù),是文件夾的操作

  • dir.create,創(chuàng)建
  • dir.exists,是否存在
  • dir,瀏覽

6.2 file前綴的函數(shù),是文件的操作

7. 舉個(gè)例子

「創(chuàng)建文件夾寫入文件」

?

如果當(dāng)前路徑中,存在result文件夾,就往里面寫入1.txt, 2.txt ……20.txt等20個(gè)文件。如果不存在result文件夾,就創(chuàng)建文件,然后往里面寫入txt文件。

?
# ex1
dir()
if(! dir.exists("result")){
dir.create("result")
}
namelist = str_c(1:20,".txt")
namelist

map(namelist,~file.create(str_c("result/",.)))

「代碼:」

  • 首先檢查是否存在,如果不存在就創(chuàng)建
  • 建立一個(gè)文件名
  • 用map函數(shù)進(jìn)行批量創(chuàng)建,里面用了str_c,里面用了匿名函數(shù)

看一下效果:

搞定,666!

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多