首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python执行DevCon CMD命令

从python执行DevCon CMD命令
EN

Stack Overflow用户
提问于 2017-06-19 13:30:46
回答 1查看 2.1K关注 0票数 4

我想从python脚本用DevCon重新启动驱动程序。它可以在命令行中使用以下命令:

代码语言:javascript
复制
devcon restart \"sd0007322081041363_kcanv\"

我试过这个:

代码语言:javascript
复制
os.system("devcon restart \"sd0007322081041363_kcanv\"")

其结果是:

代码语言:javascript
复制
'devcon' is not recognized as an internal or external command

我读到os.system已经过时,我需要使用subprocess.check_output,所以我尝试如下:

代码语言:javascript
复制
subprocess.check_output(['devcon', 'restart', '"sd0007322081041363_kcanv"'])

其结果是:

代码语言:javascript
复制
WindowsError:[Error 2] The system cannot find the file specified

这是:

代码语言:javascript
复制
subprocess.check_output('devcon restart "sd0007322081041363_kcanv"', shell=True)

其结果是:

代码语言:javascript
复制
subprocess.CalledProcessError: Command 'devcon restart "sd0007322081041363_kcanv"' returned non-zero exit status 1

这是:

代码语言:javascript
复制
subprocess.Popen("devcon restart \"sd0007322081041363_kcanv\"", shell=True, stdout=subprocess.PIPE).stdout.read()

结果:

代码语言:javascript
复制
'devcon' is not recognized as an internal or external command

这是:

代码语言:javascript
复制
try:
    subprocess.check_output('devcon disable "sd0007322081041363_kcanv" /f',shell=True,stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
    raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output))

其结果是:

代码语言:javascript
复制
RuntimeError: command 'devcon disable "sd0007322081041363_kcanv" /f' return with errpr (cpde 1): 'devcon' is not recognized as an internal or external command, operable program or batch file

devcon.exe位于Windows/ system 32下,并设置在系统路径中。

我知道这可能是重复的问题,但是我尝试过很多关于堆栈溢出的解决方案,但是我无法解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-20 08:53:51

最后,我想出了一个解决方案。我尝试了很多事情,但这才是对我有用的:

  1. 将devcon.exe从C:\Windows\System32 32复制到C:\Windows\SysWOW64 64。
  2. 我的代码: 尝试: subprocess.check_output('C:\Windows\SysWOW64\devcon.exe重新启动"sd0007322081041363_kcanv“/f',shell=True,stderr=subprocess.STDOUT),除了subprocess.CalledProcessError作为e:引发RuntimeError(”命令'{}‘返回与错误(代码{}):{}".format(e.cmd,e.returncode,e.output))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44631966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档