خب سلام و مستقیم میریم سمت یه آموزش دیگه و باحال.
همون طور گه گفتیم یه ریپو زدیم به اسم learn که توش از این اموزش های باحال قرار میدیم. دومین آموزش برای باطری و داستانای باطری هستش!
خب چطوری میشه یه اسکریپت بنویسیم که بهمون مقدار شارژ باطری لپ تاپمون رو بده؟
یا این که اگه زیر 30 درصد اومد بهمون نوتیفیکیشن بده؟
خب خیلی ساده هستش! استفاده از ماژول psutil. این ماژول خیلی قوی هستش و فقط باطری یه تیکه کوچیکی از استفاده ای این ماژول هستش. خب پس میایم و بخش های مختلف این ماژول رو در طی روز های آینده بررسی میکنیم.
نصب این ماژول هم خب مثل بقیه راحته و با pip نصب میشه.
pip3 install psutil
خب حالا نصب کردیم و میریم برای شروع اولین اسکریپت با psutil. گفتیم تو این بخش میخوایم درصد باطری ببینیم. دو تا چیز هم اضافه تر میگیم برای این که برنامه بهمون بگه آیا لپ تاپ در حال شارژ کردن هست که خیر. و این که بگه تا چه مدت زمانی لپ تاپ ما شارژ داره.
import psutil
خب فانکشن های زیادی درون psutil هستند که تعدادی از اون ها برای سنسور های استفاده میشند یا بعضی ها برای مموری و هارد و این چیزا. باطری تو دسته سنسور هاست.
ما از تابع sensors_battery استفاده میکنیم. اگه این تابع رو خشک و خالی فقط صدا بزنید به شما همچین چیزی رو برمیگردونه:
percent=93, secsleft=16628, power_plugged=False
یعنی سه تا متغیر داخل این تابع قرار دارند. اولی درصد باطری، دومی زمان باقیمانه به ثانیه و اخری هم این که آیا لپ تاپ به برق وصله یا نه.
battery = psutil.sensors_battery()
print(f"Your battery percentage is {battery.percent}")
print(f"Is your battery plugged in ? {battery.power_plugged}")
برای این کار میشه یه تابع نوشت که ثانیه ها رو بگیره و روشون عملیات مورد نظر رو انجام بده. در ضمن این تابع رو خودم ننوشتم و یه دوستی توی GeeksForGeeks این رو نوشته بود.
def convert(seconds):
minutes, seconds = divmod(seconds, 60)
hours, minutes = divmod(minutes, 60)
return "%d:%02d:%02d" % (hours, minutes, seconds)
print(f"Times left is {convert(battery.secsleft)}")
و حالا وقت اجرای برنامه هستش!
خب برنامه خیلی عالی داره کار میکنه! دیگه بقیه کاراش میمونه خلاقیت خودتون.
میتونید یه کنترل پنل بسازید با کیوت که توش از ماژول psutil استفاده کنید که اطلاعات cpu رو مثلا بده یا دما رو بده و این چیزای دیگه.
این قسمت اول ماژول psutil بود. تو قسمت های بعدی درباره cpu و مموری و هارد قراره صحبت کنیم.
کار خاصی نکردیم اما ولی کدش رو میزاریم گیت هاب.
https://github.com/BlackIQ/learn/tree/main/Python/2-Battery
پس فعلا خداحافظ!