我想解压很多 zip 文件。是否有模块或脚本可以检查 zip 文件的格式并对其进行解压缩?
这应该适用于Linux,我不关心其他操作系统。
要从 .tar.gz 文件中提取文件,您可以使用随 Ruby 分发的包中的以下方法:
require 'rubygems/package'
require 'zlib'
tar_extract = Gem::Package::TarReader.new(Zlib::GzipReader.open('Path/To/myfile.tar.gz'))
tar_extract.rewind # The extract has to be rewinded after every iteration
tar_extract.each do |entry|
puts entry.full_name
puts entry.directory?
puts entry.file?
# puts entry.read
end
tar_extract.close
每个条目类型Gem::Package::TarReader::Entry http://www.ruby-doc.org/stdlib-1.9.3/libdoc/rubygems/rdoc/Gem/Package/TarReader/Entry.html指向 .tar.gz 文件中的文件或目录。
可以使用类似的代码(将 Reader 替换为 Writer)将文件写入 .tar.gz 文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)