當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


R unzip 提取或列出 Zip 檔案

R語言 unzip 位於 utils 包(package)。

說明

從 zip 存檔中提取文件或列出 zip 存檔。

用法

unzip(zipfile, files = NULL, list = FALSE, overwrite = TRUE,
      junkpaths = FALSE, exdir = ".", unzip = "internal",
      setTimes = FALSE)

參數

zipfile

zip 文件的路徑名:將執行波形符擴展(請參閱 path.expand )。

files

要提取的記錄文件路徑的字符向量:默認為提取所有文件。

list

如果是 TRUE ,則列出文件並且不提取任何文件。相當於 unzip -l

overwrite

如果 TRUE ,則覆蓋現有文件(相當於 unzip -o ),否則忽略此類文件(相當於 unzip -n )。

junkpaths

如果 TRUE ,則在提取時僅使用存儲的文件路徑的基本名稱。相當於 unzip -j

exdir

將文件提取到的目錄(相當於 unzip -d )。如有必要,它將被創建。

unzip

要使用的方法。另一種方法是使用 getOption("unzip") ,在類似 Unix 上可以將其設置為 unzip 程序的路徑。

setTimes

合乎邏輯的。僅對於內部方法,是否應該根據 zip 文件中的時間設置文件時間? (注意:這適用於包含的文件,不適用於目錄。)

如果 list = TRUE ,則 DataFrame 包含列 Name (字符) Length (未壓縮文件的大小,數字)和 Date (屬於 "POSIXct" 類)。

否則,對於 "internal" 方法,將不可見地提取文件路徑的字符向量。

注意

默認的內部方法是一個最小的實現,主要是為 Windows 用戶設計的,以便能夠在沒有外部軟件的情況下解壓 Windows 二進製包。它不(例如)支持 Unicode 文件名,如zip 3.0: 用於該用途unzip = "unzip"unzip 6.00或稍後。它確實有一些支持bzip2壓縮和 > 2GB zip 文件(但不是 >= 4GB 文件預壓縮包含在 zip 文件中:就像許多構建一樣unzip它可能會截斷這些,在R如果可能的話,帶有警告的情況)。

如果 unzip 指定程序,則 list = TRUE 列出的日期格式未知(在 Windows 上甚至可能取決於當前區域設置),並且返回值可能是 NA 或以錯誤的時區表示或被誤解(從 unzip 6.00 開始,後者的可能性要小得多)。

zip 文件中的文件時間以 MS-DOS 的形式存儲,作為本地時間,精確度為 2 秒。在機器之間(甚至跨大陸)傳輸 zip 文件時,這不是很有用,因此我們選擇默認情況下不恢複它們。

來源

內部C代碼使用zlib特別是基於貢獻的‘⁠迷你zip⁠’ 中的應用zlib來源(來自https://zlib.net/)吉爾斯·沃蘭特。

也可以看看

unz 從 zip 文件中讀取單個組件。

zip用於包裝,即 “inverse”unzip();更遠untartar,用於(解包)打包 tar 存檔 (“tarballs”) 的相應對,例如R源碼包。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Extract or List Zip Archives。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。