【问题标题】:how do I loop through a list of folders and grab a picture file in ruby如何遍历文件夹列表并在 ruby​​ 中获取图片文件
【发布时间】:2018-03-15 00:34:53
【问题描述】:

我需要 ruby​​ 代码,我可以在其中循环遍历文件夹列表,然后单独遍历该文件夹中的每个图像

通过抓取图片文件及其名称,

我知道 Dir.foreach 非常适合获取文件夹名称,但我如何获取图片

【问题讨论】:

  • Dir.glob 会给出目录和文件。
  • 我试过没有运气,除非我用错了?
  • 举例说明你使用的代码。
  • ok : Dir.foreach("lfw/") 做 |item| Dir.glob("lfw/") 做 |文件名| Dir.glob("lfw/#{filename}/") 做 |file|
  • 这可能是个坏例子

标签: ruby


【解决方案1】:

如果我理解正确,如果是图像,您想要每个文件的列表吗?

如果您的图片都是相同的格式,即 .jpg,您可以使用:

folder_results = Dir.foreach("your_folder_name") {|x| File.extname(x) }

for file in folder_results
    if (file === '.jpg')
    # do something
    end
end

【讨论】:

  • 我输入了文件夹名称,我得到这个错误:`open': No such file or directory @ dir_initialize - lfw/ (Errno::ENOENT)
  • 如果我将它设置在主文件夹之外(我向您展示的图片我收到此错误:block in <main>': undefined method each' for nil:NilClass (NoMethodError)
  • 它在谈论 foreach 循环
【解决方案2】:

如果您从文件结构的基目录运行以下代码,那么它将列出所有以“.jpg”或“.png”结尾的文件。

Dir.glob("./**/*.{jpg,png}").each do |file|
  puts file
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-17
    • 2016-06-03
    • 2020-06-30
    • 2020-04-09
    • 2022-11-26
    • 1970-01-01
    • 2019-05-08
    • 2021-07-01
    相关资源
    最近更新 更多