你在用platform.system
吗?
系统()
返回系统/操作系统名称,例如“Linux”、“Windows”或“Java”。
如果无法确定值,则返回空字符串。
如果这不起作用,也许可以尝试platform.win32_ver
,如果它没有引发异常,那么你在 Windows 上;但我不知道这是否向前兼容 64 位,因为它的名称中有 32。
win32_ver(release='', version='', csd='', ptype='')
从 Windows 注册表获取其他版本信息
并返回一个引用版本的元组 (version,csd,ptype)
编号、CSD 级别和操作系统类型(多/单
处理器)。
但os.name
正如其他人所提到的,这可能是要走的路。
对于它的价值,这是他们在 platform.py 中检查 Windows 的一些方法:
if sys.platform == 'win32':
#---------
if os.environ.get('OS','') == 'Windows_NT':
#---------
try: import win32api
#---------
# Emulation using _winreg (added in Python 2.0) and
# sys.getwindowsversion() (added in Python 2.3)
import _winreg
GetVersionEx = sys.getwindowsversion
#----------
def system():
""" Returns the system/OS name, e.g. 'Linux', 'Windows' or 'Java'.
An empty string is returned if the value cannot be determined.
"""
return uname()[0]