控制 Python 中 USB 端口的电源
Control the power of a usb port in Python
我想知道是否可以使用供应商 ID 和产品 ID 来控制 Python 中 USB 端口的功率。它应该控制权力,而不仅仅是启用和禁用端口。如果您能提供一些示例,我们将不胜感激。
查看标准库中的 subprocess 模块:
您需要什么命令将取决于 OS。
Windows
对于 windows,您需要查看 devcon
这已在
中得到解答
import subprocess
# Fetches the list of all usb devices:
result = subprocess.run(['devcon', 'hwids', '=usb'],
capture_output=True, text=True)
# ... add code to parse the result and get the hwid of the device you want ...
subprocess.run(['devcon', 'disable', parsed_hwid]) # to disable
subprocess.run(['devcon', 'enable', parsed_hwid]) # to enable
Linux
See posts on shell comands
import subprocess
# determine desired usb device
# to disable
subprocess.run(['echo', '0', '>' '/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms'])
subprocess.run(['echo', 'auto', '>' '/sys/bus/usb/devices/usbX/power/control'])
# to enable
subprocess.run(['echo', 'on', '>' '/sys/bus/usb/devices/usbX/power/control'])
我想知道是否可以使用供应商 ID 和产品 ID 来控制 Python 中 USB 端口的功率。它应该控制权力,而不仅仅是启用和禁用端口。如果您能提供一些示例,我们将不胜感激。
查看标准库中的 subprocess 模块:
您需要什么命令将取决于 OS。
Windows
对于 windows,您需要查看 devcon
这已在
import subprocess
# Fetches the list of all usb devices:
result = subprocess.run(['devcon', 'hwids', '=usb'],
capture_output=True, text=True)
# ... add code to parse the result and get the hwid of the device you want ...
subprocess.run(['devcon', 'disable', parsed_hwid]) # to disable
subprocess.run(['devcon', 'enable', parsed_hwid]) # to enable
Linux
See posts on shell comands
import subprocess
# determine desired usb device
# to disable
subprocess.run(['echo', '0', '>' '/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms'])
subprocess.run(['echo', 'auto', '>' '/sys/bus/usb/devices/usbX/power/control'])
# to enable
subprocess.run(['echo', 'on', '>' '/sys/bus/usb/devices/usbX/power/control'])