این کد پایتون از کتابخانه psutil برای دریافت و نمایش اطلاعات مربوط به باتری دستگاه استفاده میکند. اطلاعاتی شامل درصد شارژ باتری، وضعیت اتصال به برق و زمان باقیمانده تا تخلیه باتری را نمایش میدهد. در صورتی که اطلاعات باتری در دسترس نباشد، پیامی مناسب به کاربر نمایش داده میشود. در اینجا توضیح کامل هر بخش از کد آورده شده است:
- وارد کردن کتابخانه psutil:
- کتابخانه psutil کتابخانهای است که اطلاعات سیستم را در اختیار میگذارد، از جمله وضعیت باتری دستگاه.
- دریافت اطلاعات باتری:
- تابع psutil.sensors_battery() اطلاعات مربوط به باتری دستگاه را برمیگرداند، از جمله درصد شارژ باتری، وضعیت اتصال به برق و زمان باقیمانده.
- بررسی وجود اطلاعات باتری:
- اگر اطلاعات باتری وجود داشته باشد، اطلاعات مختلف چاپ میشود:
- درصد شارژ باتری: از battery.percent برای نمایش درصد شارژ باتری استفاده میشود.
- وضعیت اتصال به برق: از battery.power_plugged برای نمایش اینکه آیا دستگاه به برق متصل است یا خیر استفاده میشود.
- تعریف تابع convertTime:
- این تابع زمان باقیمانده باتری که به صورت ثانیه است را به فرمت ساعت:دقیقه:ثانیه تبدیل میکند. این کار با استفاده از تابع divmod انجام میشود که یک عدد را به دو بخش تقسیم میکند (برای تقسیم ثانیهها به دقیقهها و ساعتها).
- نمایش زمان باقیمانده باتری:
- با استفاده از تابع convertTime، زمان باقیمانده باتری به فرمت ساعت:دقیقه:ثانیه نمایش داده میشود.
- در صورتی که اطلاعات باتری موجود نباشد:
- اگر اطلاعات باتری در دسترس نباشد، پیامی با عنوان "No battery information available" چاپ میشود.
- دریافت اطلاعات باتری: اطلاعاتی از جمله درصد شارژ، وضعیت اتصال به برق، و زمان باقیمانده باتری بهطور خودکار از سیستم دریافت میشود.
- تبدیل زمان به فرمت ساعت، دقیقه و ثانیه: با استفاده از تابع convertTime، زمان باقیمانده باتری به فرمت قابل خواندن تبدیل میشود.
- نمایش وضعیت اتصال به برق: وضعیت اتصال به برق (متصل یا غیرمتصل) به کاربر نشان داده میشود.
این برنامه میتواند برای نظارت بر وضعیت باتری دستگاههای لپتاپ یا موبایل مفید باشد و به کاربران کمک کند تا وضعیت باتری را در هر زمان مشاهده کنند.
import psutil
# دریافت اطلاعات باتری
battery = psutil.sensors_battery()
if battery is not None:
# چاپ درصد شارژ باتری
print("درصد باتری:", battery.percent, "%")
# چاپ وضعیت اتصال به برق
print("اتصال به برق:", battery.power_plugged)
def convertTime(seconds):
# تبدیل ثانیهها به فرمت ساعت:دقیقه:ثانیه
minutes, seconds = divmod(seconds, 60)
hours, minutes = divmod(minutes, 60)
return "%d:%02d:%02d" % (hours, minutes, seconds)
# چاپ زمان باقیمانده باتری
print("زمان باقیمانده باتری:", convertTime(battery.secsleft))
else:
# چاپ پیام در صورت عدم وجود اطلاعات باتری
print("اطلاعات باتری موجود نیست.")