在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)