Github: @EhsanShahbazii - Telegram: @ehsandevv
محاسبه مدت زمان ویدیو ها با یه دکمه!
توضیح دلیل نوشتن اسکریپت
خب مدت ها بود وقتی میخواستم ببینم کل یه سریال/پلی لیست ویدیو چند ساعت هست، همش رو یه پوشه میریختم بعد راست کلیک و ...
ولی وقتی چند تا پوشه بود دوباره همین کار رباتی و تکراری رو انجام میدادم. سرانجام امروز من با هفده پوشه مواجه شدم با بیش از پنجاه گیگ ویدیو. به خودم گفتم همون کار تکراری رو انجام بدم اسکلم :)
خلاصه اینجوری شد که گفتم به جای این کار، بیام کد این رو بنویسم وقت هم نمیگیره و سریع میشه جمعش کرد. بدین گونه بود که اینگونه شد!
راستی من نگشتم ببینم همچین امکانی توی سیستم عامل وجود داره یا نه!
توضیح کلی اسکریپت
ورودی اسکریپت: آدرس محلی که قراره جستجو کنه + فرمت هایی که باید جستجو کنه
خروجی اسکریپت: اسامی کل پوشه و زیرپوشه + جمع مدت زمان کل ویدیو ها به ثانیه و ساعت + زمان پردازش برای هر پوشه و زیرپوشه + مجموع نهایی مدت زمان ویدیو ها و زمان کل پردازش
توضیح با جزئیات بیشتر:
خب ترجیح دادم با پایتون بنویسم چون برام راحت تره. سه مدل میتونیم پیاده سازی کنیم. اولی به صورت عادی و بدون استفاده از Thread (نخ) که خیلی وقت میگیره. دومی با خود threading توی پایتون و سومی هم با concurrent (همزمانی) که دومی و سومی خیلی تفاوت آنچنانی نداشتن ولی تا اونجایی که آزمایش کردم مدل threading بهتر عمل کرد.
اطلاعات پوشه مورد نظر و حجم فایل ها:
خروجی پوشه و زیر پوشه هدف:
جزئیات خروجی توی مدل threading:
جزئیات خروجی توی مدل concurrent:
خلاصه که اگه مثل من خواستین یه موقع کل زمان ویدیو هاتون رو یکجا حساب کنید و ویدیو هاتون توی پوشه های مختلفی هست، میتونید استفاده کنید ازش:
عکس اسکریپت get_all_duration.py:
برای دسترسی به اسکریپت میتونید توی github یا gist پیداش کنید. اگه ایده هم داشتین میتونید توی کامنت gist یا اینجا بگید :)
مطلبی دیگر از این انتشارات
تجربه من از برنامه نویسی روز دوم.
مطلبی دیگر از این انتشارات
تفاوت میان داینامیک و استاتیک در کلاس ها
مطلبی دیگر از این انتشارات
حل مشکل نصب ماژول های پایتون بدلیل Read timed out