我打算编写一个执行Windows操作系统版本检查的程序,因为我可以用sys.windowsversion()[0]或者返回字符串不是int的平台模块来做这件事,那么更好的方式来获取Windows发布版本?在python中获取windows版本的更好方法是什么?
2
A
回答
4
您可以致电sys.getwindowsversion
。例如这样的输出:
>>> sys.getwindowsversion()
sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1')
是为Windows 7
来源:http://mail.python.org/pipermail/tutor/2003-November/026227.html
2
的常用方法用C做,这是通过_WIN32_WINNT宏,其值记录here。 sys.getwindowsversion()可以间接用于确定_WIN32_WINNT,因为它暴露了所有必要的位。
import sys
WIN_8 = (6, 2, 0)
WIN_7 = (6, 1, 0)
WIN_SERVER_2008 = (6, 0, 1)
WIN_VISTA_SP1 = (6, 0, 1)
WIN_VISTA = (6, 0, 0)
WIN_SERVER_2003_SP2 = (5, 2, 2)
WIN_SERVER_2003_SP1 = (5, 2, 1)
WIN_SERVER_2003 = (5, 2, 0)
WIN_XP_SP3 = (5, 1, 3)
WIN_XP_SP2 = (5, 1, 2)
WIN_XP_SP1 = (5, 1, 1)
WIN_XP = (5, 1, 0)
def get_winver():
wv = sys.getwindowsversion()
if hasattr(wv, 'service_pack_major'): # python >= 2.7
sp = wv.service_pack_major or 0
else:
import re
r = re.search("\s\d$", wv.service_pack)
sp = int(r.group(0)) if r else 0
return (wv.major, wv.minor, sp)
用法:
if get_winver() >= WIN_XP_SP3:
...
相关问题
- 1. 在多个Windows和Outlook版本上测试插件的好方法是什么?
- 2. 获取上下文的更好方法是什么?
- 3. 在C++中读取文件的更好方法是什么?
- 4. 在Python中别名方法名的最好方法是什么?
- 5. 什么是在Python类中排序方法的好方法?
- 6. 在Python/Pygame中获取键盘输入的好方法是什么?
- 7. 在ruby中调用类方法的更好方法是什么?
- 8. 在will_paginate中使用helper方法的更好方法是什么?
- 9. 从事件中获取信息的更好方式是什么?
- 10. 什么是更好的方法
- 11. 什么是更好的方法?
- 12. 什么是更好的方法?
- 13. 我有什么版本的金字塔,什么是最好的更新方式?
- 14. 什么是在Mac上获取桌面通知的好方法?
- 15. 什么是在Python中获取树的多个副本的最快方法?
- 16. 区分Windows版本的最简单方法是什么?
- 17. 维护css,js,font-cion,图像版本的更好方法是什么?
- 18. 用瓶子调用python脚本:最好的方法是什么?
- 19. 什么是在Python中做countif的好方法
- 20. 在Python中这样做的最好方法是什么?
- 21. 在python中反向排序的最好方法是什么?
- 22. 获得鼠标持续时间的更好方法是什么?
- 23. 什么是获得偶数的更好方法?
- 24. Python中更好的方法
- 25. 用python获得命令行输出的更好方法是什么?
- 26. 什么是复制文本文件的更好方法?
- 27. 什么是更好的网站本地化方法?
- 28. 获取c信息的好方法是什么?
- 29. 什么是获取文件大小的好方法?
- 30. 在JavaScript中编写HTML比document.write更好的方法是什么?