ruby-on-rails - Ruby Net::FTP,从 ftp.list() 中提取文件名

标签 ruby-on-rails ruby

我正在使用以下代码尝试使用 Ruby 从 ftp 获取所有文件。

files = ftp.list()

files.each do |file|
  ftp.gettextfile(file)
end

问题是 ftp.list 返回整行信息,而不仅仅是文件名,例如

-rw-r--r-- 1 ftp ftp              0 May 31 11:18 brett.txt

如何从这个字符串中提取文件名?

非常感谢

最佳答案

您可以使用 nlst像这样的公共(public)方法

files = ftp.nlst("*.zip")|ftp.nlst("*.txt")|ftp.nlst("*.xml")

#optionally exclude falsely matched files
exclude = /\.old|temp/ 

#exclude files with 'old' or 'temp' in the name
files = files.reject{ |e| exclude.match e } #remove files matching the exclude regex

files.each do |file|
  #do something with each file here
end

关于ruby-on-rails - Ruby Net::FTP,从 ftp.list() 中提取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6182160/

相关文章:

ruby-on-rails - Rails 模型创建和新建在测试环境中返回 nil

ruby - 在 ruby 中计算内部 yield

ruby - 我如何在 Ruby 中构建一个基本的 'English calculator'?

ruby-on-rails - 通过 has_many 找到 Rails :through

ruby-on-rails - $ :. unshift(File.expand_path ("../../lib", __FILE__)) 到底做了什么?

ruby-on-rails - 推特 Bootstrap 2 : how to add responsive(ness) to Rails asset pipeline

ruby-on-rails - 使用 will_paginate/searchlogic 搜索多个字段

ruby - rhtml (eruby) apache 麻烦

ruby - 如何干燥在多个上下文中重复的测试用例?

ruby-on-rails - 从 Rails 4 在 Amazon RDS 中启用 hstore 扩展