Package?base?version 4.3.2
Parameters
dir.exists(paths)
dir.create(path, showWarnings = TRUE, recursive = FALSE, mode = "0777")
Sys.chmod(paths, mode = "0777", use_umask = TRUE)
Sys.umask(mode = NA)
參數(shù)【path】:是一個字符向量,包含一個路徑名。
參數(shù)【paths】:字符向量,其中包含文件或目錄路徑。
參數(shù)【showWarnings】:邏輯值。是否應(yīng)顯示失敗警告?
參數(shù)【recursive】:邏輯值。是否應(yīng)該創(chuàng)建路徑中除最后一個元素之外的其他元素?如果為 TRUE,就像 Unix 命令 mkdir -p。
參數(shù)【mode】:在 Unix-alikes 上使用的模式:它將被 as.octmode 強(qiáng)制使用。對于 Sys.chmod,它將沿路徑循環(huán)使用。
參數(shù)【use_umask】:邏輯值。模式是否應(yīng)受 umask 設(shè)置的限制?
dir.exists 檢查路徑是否存在(與 file.exists 意義相同),并且是目錄。
dir.create 會創(chuàng)建路徑的最后一個元素,除非參數(shù)【recursive】= TRUE。路徑分隔符尾部將被丟棄。在 Windows 環(huán)境下,路徑指定中允許包含驅(qū)動器,除非路徑是根目錄,否則將相對于該驅(qū)動器上的當(dāng)前目錄進(jìn)行解釋。在 Windows 環(huán)境下,模式將被忽略。
Windows 的一個怪癖是,目錄創(chuàng)建可能會報告成功,但創(chuàng)建的目錄名卻不一樣,例如,dir.create("G.S.") 創(chuàng)建的是""G.S""。這是無記錄的,具體情況尚不清楚(可能取決于 Windows 的版本)。此外,還要避免目錄名尾部有空格。
Sys.chmod 設(shè)置一個或多個文件的權(quán)限。Windows 系統(tǒng)函數(shù)對參數(shù)【mode】的解釋是非 POSIX 的,只支持設(shè)置文件的只讀屬性。因此,R 對參數(shù)【mode】的解釋是,當(dāng)且僅當(dāng) (mode & 0200) == 0(以八進(jìn)制解釋)時,設(shè)置為只讀。Windows 在某些文件系統(tǒng)(如 NTFS 版本)上有一個更為廣泛的文件權(quán)限系統(tǒng),與此系統(tǒng)調(diào)用無關(guān)。
Sys.umask 設(shè)置 umask 并返回前一個值:作為一種特殊情況,mode = NA 只返回當(dāng)前值。Windows 上的所有文件都被視為可讀文件,而文件是否可執(zhí)行并不是 Windows 的概念。因此,umask 只控制文件是否可寫:設(shè)置為 "200"?后,隨后創(chuàng)建的文件(而不是目錄)將只讀。
Values
dir.exists 返回 TRUE 或 FALSE 值的邏輯向量(不含名稱)。文章來源:http://www.zghlxwxcb.cn/news/detail-765133.html
dir.create 和 Sys.chmod 會以隱形方式返回一個邏輯向量,表明對每個嘗試操作的文件的操作是否成功。如果目錄已經(jīng)存在,dir.create 將顯示操作失敗。如果 showWarnings = TRUE,dir.create 會對意外失敗發(fā)出警告(例如,如果參數(shù)【recursive】= TRUE,則不會對缺失值或已存在的組件發(fā)出警告)。文章來源地址http://www.zghlxwxcb.cn/news/detail-765133.html
Example
if(!dir.exists(occ.folder)) {dir.create(occ.folder, recursive = T)}
到了這里,關(guān)于R語言【base】——dir.exists()和dir.create()目錄和文件權(quán)限的操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!