[Ruby]Unzipping a file using rubyzip

link: http://www.markhneedham.com/blog/2008/10/02/ruby-unzipping-a-file-using-rubyzip/

require ‘rubygems‘
require ‘zip/zip‘

def unzip_file (file, destination)
  Zip::ZipFile.open(file) { |zip_file|
   zip_file.each { |f|
     f_path=File.join(destination, f.name)
     FileUtils.mkdir_p(File.dirname(f_path))
     zip_file.extract(f, f_path) unless File.exist?(f_path)
   }
  }
end
时间: 2024-10-13 01:48:05

[Ruby]Unzipping a file using rubyzip的相关文章

【Ruby】File 类和方法

阅读目录 类方法 实例方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号 方法 & 描述 1 File::atime( path)返回 path 的最后访问时间. 2 File::basename( path[, suffix])返回 path 末尾的文件名.如果指定了 suffix,则它会从文件名末尾被删除.例如:File.basename("/home/users/bin/ruby.exe") #=> &

ruby逐行遍历文件

ruby遍历文件内容,基本思路是逐行读取逐行打印,也是比较普遍的方法: #!/usr/bin/env ruby #Encoding:utf8 file = File.open("/tmp/abc.txt") file.each_line do |line|   print line end file.close 另外一种写法,一次性读取一次性打印,相对耗费更多内存,小文件场合比上面的方法更快.不推荐操作大文件. #!/usr/bin/env ruby # Encoding:utf8 w

Ruby学习笔记

Ruby学习笔记 Ruby语言中,以对象为基本单位,可以说所有的元素都是对象.按照之前对于面向对象程序的理解,对象是指包含了特定属性和方法集合的一组程序.对象由类来定义,具体的表现为对象实例.也就是说,对象是类的实例化[2]. Ruby语言的基础元素 对象:数值对象.字符串对象.正则表达式对象.时间对象.文件对象.目录对象.数组.哈希.例外对象等 数值对象   由于Ruby中一切数据都是对象,所以我们处理的数字实际上也是对象. a = 10,这样一个简单的赋值语句,实际上应当理解为 a = Nu

File.basename

File.basename函数 返回filename中的最后一条斜线后面的部分.若给出了参数suffix且它和filename的尾部一致时,该方法会将其删除并返回结果. 例: p File.basename("ruby/ruby.c") #=> "ruby.c" p File.basename("ruby/ruby.c", ".c") #=> "ruby" p File.basename(&qu

debian 安装ruby +nginx+apache开发环境.

安装软件 1.很简单, 前提你安装了apache, mysql, nginx 如果没有 加上. #apt-get installapache2 nginx 2.开启apache的重写. #a2enmod rewrite #apt-get install mysql-server 3.下面会安装ruby, apache的ruby模块, mysql的ruby支持, vim的rails支持. #apt-get install ruby rails rubygems rake  libapache2-m

运维自动化之ansible playbook安装ruby环境

本来不想打算写安装ruby的,但看几个puppet的群里有人对安装ruby比较茫然,所以这里简单介绍一下如何安装ruby. ps:话说现在也就gitlab.capistrano.puppet等软件使用ruby,最新2010年的软件好的都是python了,比如ansible.salt等. 下面是安装ruby的信息: ruby_version: 1.9.3 ruby_dir: /usr/local gem_version: 1.8.23 bundle_version: 1.6.3 可以看到ruby的

【Ruby】文件的输入与输出

阅读目录 puts语句 gets语句 puts语句 print语句 打开和关闭文件 FIle.new方法 FIle.open方法 读取和写入文件 sysread方法 syswrite方法 each_byte方法 IO.readlines方法 IO.foreach方法 重命名和删除文件 文件模式与所有权 文件查询 Ruby中的目录 浏览目录 创建目录 删除目录 创建文件&临时目录 内建函数 Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现.所有的 I/O 方法派生自 I

雷林鹏分享:Ruby 文件的输入与输出

Ruby 文件的输入与输出 Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现.所有的 I/O 方法派生自 IO 类. 类 IO 提供了所有基础的方法,比如 read. write. gets. puts. readline. getc 和 printf. 本章节将讲解所有 Ruby 中可用的基础的 I/O 函数.如需了解更多的函数,请查看 Ruby 的 IO 类. puts 语句 在前面的章节中,您赋值给变量,然后使用 puts 语句打印输出. puts 语句指示程序

java:redis(redis的集群配置)

服务器集群作用: 服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行.一旦在服务器上安装并运行了群集服务,该服务器即可加入群集.群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性. redis的集群配置: (.编辑network文件 HOSTNAME=redis(自己定义的hostname) vi /etc/sysc