Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.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
在windows 8上访问windows版本时出现Python\u winreg错误_Python_Python 2.7_Winreg - Fatal编程技术网

在windows 8上访问windows版本时出现Python\u winreg错误

在windows 8上访问windows版本时出现Python\u winreg错误,python,python-2.7,winreg,Python,Python 2.7,Winreg,我可以在注册表编辑器中看到该值,路径为 HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion 我想打印我可以看到的产品名称是Windows 8,但当我运行程序在64位笔记本电脑上获取Windows版本时: def get_registry_value(key, subkey, value): import _winreg key = getattr(_winreg, key) h

我可以在注册表编辑器中看到该值,路径为
HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion

我想打印我可以看到的产品名称是Windows 8,但当我运行程序在64位笔记本电脑上获取Windows版本时:

def get_registry_value(key, subkey, value):
  import _winreg
  key = getattr(_winreg, key)
  handle = _winreg.OpenKey(key, subkey)
  (value, type) = _winreg.QueryValueEx(handle, value)
  return value

def os_version():
  def get(key):
    return get_registry_value(
        "HKEY_LOCAL_MACHINE", 
        "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
        key)
  os = get("ProductName")
  sp = get("CSDVersion")
  build = get("CurrentBuildNumber")
  return "%s %s (build %s)" % (os, sp, build)
我越来越

WindowsError:错误[2]“系统找不到指定的文件”

所以我把代码修改为

key = getattr(_winreg, key)
handle = _winreg.OpenKey(key, subkey ,0 ,_winreg.KEY_READ | _winreg.KEY_WOW64_64KEY)
但我还是犯了同样的错误
我做错了什么?我该怎么做才能获得我的操作系统版本?

在windows 7上非常适合我

in > print os_version()
out > Windows 7 Enterprise Service Pack 1 (build 7601)