当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。