如何使用python控制windows中的特定USB端口?

如何使用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

我需要在windows中控制某个USB端口。我正在开发一个自动化测试用例的项目

问题:例如,在某些测试中,您需要插入和拔出USB pendrive才能运行测试200次

解决方案:编写一个python程序并将其集成到测试中,以模拟USB插件和USB插件的过程

我在下面找到了这段代码,但“subprocess”没有运行引用

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))

如果您对解决方案有任何疑问,请随时提问。

我应该说这两个选项都应该省略。