如何从Python线程连续运行PowerShell命令?

时间:2018-06-20 09:20:12

标签: python powershell

我想获取屏幕亮度,并使用tkinter刻度自行设置亮度。我需要PowerShell命令来获取屏幕亮度并进行设置。我已经知道该怎么做,但是我想线程会导入PowerShell(在cmd中启动它,需要一段时间),然后运行命令并关闭PowerShell,然后再次打开它。这种方法很慢,我可以从TaskManager中看到该进程占用大约30%的CPU性能,而不是通常占用的几个百分点。

这就是我获取亮度并设置亮度的方式

import os

while True:
    os.system("powershell Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness >brightness.txt")
    brightness_file = open("brightness.txt", "r")
    #This is the brightness value 0-100 as string
    brightness_now = brightness_file.read().split()[5]
    brightness_file.close()

    #Some code that isn't relative to this problem
    #The wanted birghtness is called now brightness_value

    #Setting the brightness
    os.system("powershell (Get-WmiObject -Namespace root/WMI -Class WmiMonitorBrightnessMethods).WmiSetBrightness(1,"+str(brightness_value)+")")

这可以通过其他方式起作用,但这不是一种有效的方式。我能以某种方式将PowerShell导入到一个线程中,这样它再也不需要打开PowerShell了吗?

我尝试过这样的事情     导入操作系统

#Import powershell
os.system("powershell")
#Get the brightness
os.system("Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness >brightness.txt")

但是它只是在cmd中打开PowerShell,而不会继续执行代码。

0 个答案:

没有答案