یک اسکریپت Ruby بنویسید که فایل‌های داخل پوشه "source" را بر اساس پسوندشان به زیرپوشه‌هایی داخل پوشه "organized" منتقل کند و در انجام عملیات از ماژول FileUtils استفاده کند.

2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:48

0.0

برای حل این مسئله در Ruby از require 'fileutils' استفاده کنید، لیست فایل‌ها را با Dir.foreach یا Dir.glob بگیرید و برای هر مورد با File.file? بررسی کنید که فایل است نه پوشه. پسوند را با File.extname استخراج و به حروف کوچک تبدیل کنید، در صورت نداشتن پسوند آن‌ها را در پوشه‌ای مانند "no_extension" قرار دهید، سپس با FileUtils.mkdir_p پوشه هدف را ایجاد و با FileUtils.mv فایل را منتقل کنید؛ برای جلوگیری از بازنویسی از File.exist? استفاده و در صورت نیاز نام جدیدی با شمارنده بسازید. این روش ساده و مناسب مبتدیان است و به شما اجازه می‌دهد روی مفاهیم پایه‌ای File & I/O و ماژول FileUtils کار کنید.

توسط پژوهشگر در 220 روز قبل ساعت 01:48
دسته بندی ها: Ruby Ruby for beginner
arman در 220 روز قبل ساعت 11:58

یه نکتهٔ مفید این است که با استفاده از File.extname پسوند را به حروف کوچک تبدیل کنید تا دسته‌بندی یکپارچه باشد و فایل‌های بدون پسوند را به پوشهٔ no_extension منتقل کنید. همچنین برای جلوگیری از بازنویسی، قبل از mv وجود نام مقصد را با File.exist؟ بررسی کنید و در صورت وجود از شمارنده یا زمان‌نگاری برای نام جدید استفاده کنید. استفاده از Dir.glob یا Dir.foreach برای جمع‌آوری فایل‌ها ساده است و FileUtils.mkdir_p برای ایجاد پوشهٔ هدف به صورت ایمن کاربرد دارد. در نهایت با File.file? اطمینان حاصل کنید که ورودی‌ها فایل هستند نه پوشه‌ها.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری