Tôi đang làm việc trên một chương trình để tải xuống video từ YouTube, chuyển đổi nó thành MP3 và tạo cấu trúc thư mục cho các tệp.
Mã của tôi là:
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
Cái đầu tiên chuyển đến thư mục nhạc đã được tạo. Bên trong mà tôi đang thực hiện get
. Sau đó, tôi có hai tệp trong thư mục: "xyz.mp4" và "xyz.m4a".
Tôi muốn tìm nạp tên tệp mà không có phần mở rộng để tôi có thể xử lý cả hai tệp theo cách khác nhau.
Tôi đang sử dụng một mảng, nhưng một mảng chỉ cho một trận đấu nghe có vẻ điên rồ đối với tôi.
Có ai có ý tưởng khác?
Ngoài ra
—
Tin Man
rip.to_s
và rip.split
không làm gì cả.
Có thể có bản sao của Cách lấy tên tệp mà không có phần mở rộng từ đường dẫn tệp trong Ruby
—
ymoreau 17/08/18
$globals
như bạn đang có. Chúng là một gợi ý rất mạnh mà bạn không hiểu về phạm vi biến đổi và đang dựa vào các khối cầu để "gian lận". Họ là mùi mã và dẫn đến khốn khổ và đau đớn.