У меня есть 385 подпапок в каталоге, каждый из которых содержит CSV-файл вместе с несколькими PDF-файлами. Я пытаюсь найти способ пройти через каждую подпапку и написать список pdf-файлов в txt-файл. (Я понимаю, что там есть лучшие языки, чтобы сделать это, чем Ruby, но я новичок в программировании, и это единственный язык, который я знаю.)Ruby - Запись имен файлов из подпапок в txt-файл
У меня есть код, который выполняет эту работу, но проблема, в него входит листинг каталога подпапок. Пример. Вместо того, чтобы писать «document.pdf» в текстовый файл, он пишет «subfolder/document.pdf».
Может кто-нибудь, пожалуйста, покажите мне, как написать только имя файла pdf?
Заранее благодарен! Вот мой код:
class Account
attr_reader :account_name, :account_acronym, :account_series
attr_accessor :account_directory
def initialize
@account_name = account_name
@account_series = account_series
@account_directory = account_directory
end
#prompts user for account name and record series so it can create the directory
def validation_account
print "What account?"
account_name = gets.chomp
print "What Record Series? "
account_series = gets.chomp
account_directory = "c:/Processed Batches Clone/" + account_name + "/" + account_series + "/Data"
puts account_directory
return account_directory
end
end
processed_batches_dir = Account.new
#changes pwd to account directory
Dir.chdir "#{processed_batches_dir.validation_account}"
# pdf list
processed_docs = []
# iterates through subfolders and creates list
Dir.glob("**/*.pdf") { |file|
processed_docs.push(file)
}
# writes list to .txt file
File.open("processed_batches.txt","w") { |file|
file.puts(processed_docs)
}
Это смешно, ваш комментарий на Ruby. Я программировал на протяжении десятилетий и использовал по крайней мере дюжину языков, и я рекомендовал бы любого нового программиста начать с Ruby! Это мой любимый. –