Github: @EhsanShahbazii - Telegram: @ehsandevv
محاسبه مدت زمان ویدیو ها با یه دکمه!

توضیح دلیل نوشتن اسکریپت
خب مدت ها بود وقتی میخواستم ببینم کل یه سریال/پلی لیست ویدیو چند ساعت هست، همش رو یه پوشه میریختم بعد راست کلیک و ...
ولی وقتی چند تا پوشه بود دوباره همین کار رباتی و تکراری رو انجام میدادم. سرانجام امروز من با هفده پوشه مواجه شدم با بیش از پنجاه گیگ ویدیو. به خودم گفتم همون کار تکراری رو انجام بدم اسکلم :)
خلاصه اینجوری شد که گفتم به جای این کار، بیام کد این رو بنویسم وقت هم نمیگیره و سریع میشه جمعش کرد. بدین گونه بود که اینگونه شد!
راستی من نگشتم ببینم همچین امکانی توی سیستم عامل وجود داره یا نه!
توضیح کلی اسکریپت
ورودی اسکریپت: آدرس محلی که قراره جستجو کنه + فرمت هایی که باید جستجو کنه

خروجی اسکریپت: اسامی کل پوشه و زیرپوشه + جمع مدت زمان کل ویدیو ها به ثانیه و ساعت + زمان پردازش برای هر پوشه و زیرپوشه + مجموع نهایی مدت زمان ویدیو ها و زمان کل پردازش

توضیح با جزئیات بیشتر:
خب ترجیح دادم با پایتون بنویسم چون برام راحت تره. سه مدل میتونیم پیاده سازی کنیم. اولی به صورت عادی و بدون استفاده از Thread (نخ) که خیلی وقت میگیره. دومی با خود threading توی پایتون و سومی هم با concurrent (همزمانی) که دومی و سومی خیلی تفاوت آنچنانی نداشتن ولی تا اونجایی که آزمایش کردم مدل threading بهتر عمل کرد.
اطلاعات پوشه مورد نظر و حجم فایل ها:

خروجی پوشه و زیر پوشه هدف:

جزئیات خروجی توی مدل threading:

جزئیات خروجی توی مدل concurrent:

خلاصه که اگه مثل من خواستین یه موقع کل زمان ویدیو هاتون رو یکجا حساب کنید و ویدیو هاتون توی پوشه های مختلفی هست، میتونید استفاده کنید ازش:
عکس اسکریپت get_all_duration.py:

برای دسترسی به اسکریپت میتونید توی github یا gist پیداش کنید. اگه ایده هم داشتین میتونید توی کامنت gist یا اینجا بگید :)
مطلبی دیگر از این انتشارات
دل نوشته :: کار :: رشته کامپیوتر
مطلبی دیگر از این انتشارات
ساخت دشمن ساده در یونیتی بدون navmesh
مطلبی دیگر از این انتشارات
بهترین زبانها برای برنامه نویسی