如何使用python控制windows中的特定USB端口?
我需要在windows中控制某个USB端口。我正在开发一个自动化测试用例的项目 问题:例如,在某些测试中,您需要插入和拔出USB pendrive才能运行测试200次 解决方案:编写一个python程序并将其集成到测试中,以模拟USB插件和USB插件的过程 我在下面找到了这段代码,但“subprocess”没有运行引用如何使用python控制windows中的特定USB端口?,python,Python,我需要在windows中控制某个USB端口。我正在开发一个自动化测试用例的项目 问题:例如,在某些测试中,您需要插入和拔出USB pendrive才能运行测试200次 解决方案:编写一个python程序并将其集成到测试中,以模拟USB插件和USB插件的过程 我在下面找到了这段代码,但“subprocess”没有运行引用 import subprocess # Fetches the list of all usb devices: result = subprocess.run(['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
编写一个python程序,并将其集成到测试中,以模拟这个从USB插件和从USB插件的过程。
子流程。run
替代具有不同参数的子流程。call
必须给它起一个新名称。但是在这种情况下,代码不需要任何新功能,您可以将子流程.run
替换为子流程.call
在
子流程的情况下,使用可替换为子流程的捕获输出
选项运行
。检查输出
这是我能够使用的解决方案,它与我配合得很好
import subprocess
# find all devices command
Find_command = 'C:/Windows/SysWOW64/devcon.exe find *'
#list HW ids of devices
hwIds_command = 'C:/devcon.exe hwids *'
#Enable
Enable_command = 'C:/devcon.exe enable *PID_1016'
#Disable
Disable_command = 'C:/devcon.exe disable *mouse*'
#Find Device
Find_SpecificDevice_command = 'C:/devcon.exe find *PID_1016 '
find= True
try:
if find:
result = subprocess.check_output(Find_SpecificDevice_command,shell=True ,stderr=subprocess.STDOUT)
print(result)
except subprocess.CalledProcessError as e:
raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output))
如果您对解决方案有任何疑问,请随时提问。我应该说这两个选项都应该省略。