【问题标题】:file extension dependend actions文件扩展名相关操作
【发布时间】:2014-01-18 10:40:42
【问题描述】:

我想检查一个目录是否有“.ogg”或“.m4a”文件。在每种情况下,在开始下载会话之前目录都是空的。所以它只能有一个“ogg”或一个“m4a”文件。

我尝试了这段代码来获取文件名:

def self.get_filename
    if File.exists?('*.ogg')
      file = Dir.glob('*.ogg')
      @testfile = file[0]
      @filename = File.basename(@testfile,File.extname(@testfile))
    end
    if File.exists?('*.m4a')
      file = Dir.glob('*.m4a')
      @testfile = file[0]
      @filename = File.basename(@testfile,File.extname(@testfile))
    end
  end

遗憾的是文件名实际上是空的。也许有人知道为什么?

【问题讨论】:

  • File.exists?('*.ogg')我认为参数应该是真实的文件名,而不是像语法这样的正则表达式..

标签: ruby file directory


【解决方案1】:

我认为你需要Dir.glob

Dir.glob('/path/to/dir/*.ogg') do |ogg_file|
  @testfile = ogg_file
  @filename = File.basename(@testfile,File.extname(@testfile))
end

【讨论】:

    【解决方案2】:

    File#exists? 不支持正则表达式。

    您可以这样做:

    if Dir["*.rb"].any?
      #....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多