Windows上的自动化测试经常会接触到对于注册表的读写操作问题,比如,获取一个程序的安装目录,一般情况下,我们可以去注册表的App Paths下去查找,这时就涉及到了注册表的读取操作,我们使用Python的_winreg模块来实现,代码如下:
def reg_query(path, key):
try:
path = path.replace("/", "\\")
rootName = path[:path.find("\\")]
subPath = path[path.find("\\") + 1:]
rootKey = _query_root(rootName)
if rootKey is None:
return ""
print path
root = _winreg.OpenKey(rootKey, subPath)
value, type = _winreg.QueryValueEx(root, key)
return value
except:
# log.exception(traceback.format_exc())
return ""
其中_query_root方法,是根据rootName去获取Root的枚举值,代码如下:
def _query_root(rootName):
rootKey = None
if rootName == &#