Robot ValueError:不能将值表示为二进制

时间:2015-03-04 13:12:18

标签: python robotframework winreg

我需要帮助

我在获取注册表字典(名称和值)时遇到问题

Robot Framework返回此错误

ValueError:不能将u'“= f \ xd8 \ u0152 \ xc4R \ xd9 \ xd4 \ u2021 \ xb20 \ xd0 \ xf5 \ xef \ x0fx \ xbc \ x0b \ x06'表示为二进制文件。

我有一个函数可以获取所有元素的字典,但是一个数据值是“=fØŒÄRÙÔ‡²0Ðõïx¼并且无法读取它。

任何人都可以帮我处理它

我的功能

def get_info(self):
    system_info = {}
    key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,"Software", 0, _winreg.KEY_READ)
    try:
        i = 0
        while 1:
            name, value, type = _winreg.EnumValue(key, i)
            system_info[name] = value                         
            i += 1
    except WindowsError as error:
        raise WindowsError(error)
    return system_info 

P.S。 :我不想分享特定的注册表

def get_registry_info(self, registry, variable):
    """Gets various infomation in registry.

    :registry: path to the registry
    :variable: variable in registry
    :returns: value of selected variable in registry information
    """
    hkey, register = registry.split("\\",1)
    key = _winreg.OpenKey(getattr(_winreg,hkey),
            register, 0, _winreg.KEY_READ)
    try:
        i = 0
        name, value, type = _winreg.EnumValue(key, i)
        i += 1
    except WindowsError:
        print
    value, type = _winreg.QueryValueEx(key, variable)
    return value

雷达

0 个答案:

没有答案