在Ruby中获取文件名和扩展名
我正在制作一个程序,从YouTube下载video,将其转换为MP3,并为这些文件创build一个目录结构。
我的代码是:
FileUtils.cd("#{$musicdir}/#{$folder}") do YoutubeDlhelperLibs::Downloader.get($url) if File.exists?('*.mp4') puts 'Remove unneeded tempfile' Dir['*.mp4'].each do |waste| File.delete(waste) end else puts 'Temporary file already deleted' end Dir['*.m4a'].each do |rip| rip.to_s rip.split puts 'Inside the function' puts rip end end
第一个去到已经创build的音乐文件夹。 里面,我正在执行get
。 之后,我在目录中有两个文件:“xyz.mp4”和“xyz.m4a”。
我想获取没有扩展名的文件名,所以我可以处理两个文件的不同。
我正在使用一个数组,但只有一个匹配的数组听起来很疯狂。
有没有其他人的想法?
您可以使用以下function来达到您的目的:
file = "/path/to/xyz.mp4" comp = File.basename file # => "xyz.mp4" extn = File.extname file # => ".mp4" name = File.basename file, extn # => "xyz" path = File.dirname file # => "/path/to"