Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python subprocess.Popen不适用于reg查询命令_Python_Subprocess_Registry - Fatal编程技术网

Python subprocess.Popen不适用于reg查询命令

Python subprocess.Popen不适用于reg查询命令,python,subprocess,registry,Python,Subprocess,Registry,当我尝试在python中查询注册表值(REG query HKU/v“VBAWarnings”/s)popen()时,我得到了0个匹配项 import subprocess command = 'REG QUERY HKU /v "VBAWarnings" /s' output,error = subprocess.Popen(command,universal_newlines=True,shell=True,stdout=subprocess.PIPE,stderr=subprocess.P

当我尝试在python中查询注册表值(REG query HKU/v“VBAWarnings”/s)popen()时,我得到了0个匹配项

import subprocess
command = 'REG QUERY HKU /v "VBAWarnings" /s'
output,error = subprocess.Popen(command,universal_newlines=True,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()
print output

End of search: 0 match(es) found.
如果我打印输出,它将输出为0个匹配项

import subprocess
command = 'REG QUERY HKU /v "VBAWarnings" /s'
output,error = subprocess.Popen(command,universal_newlines=True,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()
print output

End of search: 0 match(es) found.
但同一命令在命令提示符下执行时提供匹配

输出:

HKEY_USERS\S-1-5-21-2149410145-3230408028-977776915-
500\Software\Microsoft\Office\12.0\Word\Security

    VBAWarnings    REG_DWORD    0x1

End of search: 1 match(es) found.

您可以尝试类似于
proc=subprocess.Popen(command,stdout=subprocess.PIPE,bufsize=1,stderr=subprocess.PIPE)的方法打印proc.communicate()
从命令提示符执行命令时打印出什么?另外,您是否也检查了
error
(因为命令输出可能在那里)?为什么不使用?@Varad仍然不工作,我认为这不是参数的问题,命令字符串可能有问题,因为指挥部也是如此prompt@PeterWood我想在没有Pythonca的远程机器上执行该命令。您可以尝试执行类似于
proc=subprocess.Popen(command,stdout=subprocess.PIPE,bufsize=1,stderr=subprocess.PIPE)的命令print proc.communicate()
从命令提示符执行时,该命令会打印出什么?另外,您是否也检查了
error
(因为命令输出可能在那里)?为什么不使用?@Varad仍然不工作,我认为这不是params的问题,命令字符串可能有问题,因为在command中同样工作prompt@PeterWood我想在没有python的远程机器上执行该命令