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