
有時(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(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ì)成功的
完整的寫法: 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ù),是文件夾的操作 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)建
- 用map函數(shù)進(jìn)行批量創(chuàng)建,里面用了str_c,里面用了匿名函數(shù)
看一下效果:
搞定,666!
|