获取给定目录中文件列表的更好方法
当我需要处理给定目录中的文件时,我总是采用以下方式,我认为这很麻烦:
this_dir = Dir.pwd
filepath = File.join(this_dir, "directory")
file_list = Dir[File.join(filepath, "*.txt")]
我知道下面的代码返回一个文件名数组。据说该目录中只有一个文件,我习惯使用的方式是:
File.basename(file_list[0])
是否有更好更整洁的方法来获取目录中的文件列表,以便我可以对这些文件做任何我想做的事情?
回答
这里有一些注意事项。在许多情况下,文件操作被假定为基于您当前的工作目录工作Dir.pwd,因此不需要指定。
找到第一个匹配文件的最简单方法是:
Dir['directory/*.txt'].first
file_list除了您不需要所有的序言之外,您的方法在这里没有什么收获。
- There's also `Dir['*.txt', base: 'directory']` which returns just the filenames.