یک اسکریپت پایتون بنویسید که برای N ثانیه هر ثانیه با استفاده از datetime.now() یک timestamp ثبت کند، همهٔ timestampها را در یک فایل CSV ذخیره کند و در پایان فاصلهٔ زمانی متوسط بین ثبت‌ها (بر حسب ثانیه) را محاسبه و چاپ کند.

5.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:23

0.0

با استفاده از ماژول‌های استاندارد datetime و time و کتابخانه csv یا pandas می‌توانید این کار را انجام دهید: در حلقه‌ای به اندازه N از datetime.now() برای گرفتن زمان فعلی استفاده کرده و با time.sleep(1) بین ثبت‌ها توقف کنید، timestampها را (مثلاً با .isoformat()) در لیستی ذخیره و در همان حین یا بعداً در CSV بنویسید. برای محاسبهٔ فاصله‌ها، تفاضل‌های datetime را گرفته و با .total_seconds() به ثانیه تبدیل کنید و میانگین آن‌ها را حساب کنید. نکته‌ها: برای دقت بالاتر می‌توانید از time.perf_counter() برای اندازه‌گیری فواصل استفاده کنید و در برابر KeyboardInterrupt از try/except محافظت کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:23
دسته بندی ها: Python Python for beginner
arash در 201 روز قبل ساعت 06:35

یک نکتهٔ کلیدی: برای دقت ثبت‌ها، هم از datetime.now() برای timestamp استفاده کنید و هم از time.perf_counter() برای محاسبهٔ فواصل بین ثبت‌ها؛ این ترکیب خطای زمان‌بندی را کاهش می‌دهد. به جای تکیهٔ مطلق بر sleep(1)، می‌توانید هر بار هدف زمانی مشخص کنید و با یک حلقهٔ کوتاه تا رسیدن به آن زمان منتظر بمانید. هنگام نوشتن CSV، از csv.writer استفاده کنید و فواصل بین ثبت‌ها را به‌طور همزمان با ثبت یا پس از پایان حلقه محاسبه و چاپ کنید. همچنین از بلوک try/except برای KeyboardInterrupt استفاده کنید تا فایل را به‌درستی ببندید و داده‌ها حفظ شوند.

گزارش

1 پاسخ

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

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