我正在玩pygame,我想做的一件事就是当计算机使用电池供电时减少每秒的帧数(降低CPU使用率并延长电池寿命).
如何从Python中检测到计算机当前是否使用电池供电?
我在Windows上使用Python 3.1.
我正在测试一个应用程序,让用户知道何时插拔他们的笔记本电脑以获得最大的笔记本电池电量.除此之外,我试图从Windows功率计复制工具提示.
到目前为止,这是相当成功的,有一些差异.
这些让我认为Windows剩余时间算法是在过去一分钟左右的平均值,但我找不到任何相关的文档.有谁知道它究竟是做什么所以我可以重现它?
这是我的实现(在Python中,但问题是与语言无关).我想我需要平均最近x从轮询放电率每y秒,但需要知道的值x和y.
t = wmi.WMI(moniker = "//./root/wmi")
batts = t.ExecQuery('Select * from BatteryStatus where Voltage > 0')
time_left = 0
for _i, b in enumerate(batts):
time_left += float(b.RemainingCapacity) / float(b.DischargeRate)
hours = int(time_left)
mins = 60 * (time_left % 1.0)
return '%i hr %i min' % (hours, mins)
Run Code Online (Sandbox Code Playgroud) 如何用python获得电池百分比?
也许某些win32api功能可能有所帮助