Python禁用USB端口时出现FileNotFoundError问题求助
解决Python调用devcon出现FileNotFoundError的问题
错误核心原因
FileNotFoundError是因为系统找不到devcon.exe——它不是Windows默认预装的工具,必须手动获取并配置路径。
解决方案
下载匹配的devcon版本
从Windows SDK中提取对应系统位数(32/64位)的devcon,比如Windows 10 SDK的devcon通常在C:\Program Files (x86)\Windows Kits\10\Tools\<具体版本号>\x64\devcon.exe路径下。指定devcon的完整路径
要么把devcon所在目录添加到系统PATH环境变量,要么在代码里直接用绝对路径调用:import subprocess # 用绝对路径调用devcon devcon_path = r'C:\Program Files (x86)\Windows Kits\10\Tools\10.0.22621.0\x64\devcon.exe' result = subprocess.run([devcon_path, 'hwids', '=usb'], capture_output=True, text=True) # 修正HWID的转义问题,用原始字符串 subprocess.run([devcon_path, 'disable', r'ACPI\VEN_HPQ&DEV_8002'])以管理员权限运行脚本
devcon修改设备状态需要管理员权限,右键Python脚本选择「以管理员身份运行」,或者在管理员命令提示符中执行脚本。修正代码细节
- 最后一行注释写的是
to enable但实际用的是disable命令,注意区分; - HWID字符串里的反斜杠在Python中需要转义,用原始字符串前缀
r可以避免转义错误。
- 最后一行注释写的是
测试步骤
先打开管理员权限的命令提示符,手动执行devcon hwids =usb,确认命令能正常返回设备信息后,再集成到Python代码中调试。
内容的提问来源于stack exchange,提问作者4Head
相关产品推荐
相关产品推荐

