Je travaille sur un programme permettant de télécharger une vidéo à partir de YouTube, de la convertir au format MP3 et de créer une structure de répertoires pour les fichiers.
Mon code est:
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
Le premier va dans le dossier de musique déjà créé. A l'intérieur de cela, j'exécute get
. Après cela, j'ai deux fichiers dans le répertoire: "xyz.mp4" et "xyz.m4a".
Je voudrais récupérer le nom de fichier sans l'extension afin que je puisse gérer les deux fichiers différemment.
J'utilise un tableau, mais un tableau pour un seul match me semble fou.
Quelqu'un a une autre idée?
Vous pouvez utiliser les fonctions suivantes pour vos besoins:
path = "/path/to/xyz.mp4"
File.basename(path) # => "xyz.mp4"
File.extname(path) # => ".mp4"
File.basename(path, ".mp4") # => "xyz"
File.basename(path, ".*") # => "xyz"
File.dirname(path) # => "/path/to"