Python os.name 在 Windows 7 返回 nt
Python中的os.name在Windows 7上返回“nt”
我在用os.name来获取当前脚本运行的操作系统名称。但是奇怪的是,它返回的不是“Windows 7”,而是“nt”。
这里是代码:
import os
print(os.name)
结果是:
nt
4 个回答
0
根据文档,os.name
现在可能有以下几种值:'posix'、'nt'、'os2'、'ce'、'java'、'riscos'。你可能想要的是sys.platform
。
2
'nt'的意思是'新技术',最初是随着32位版本的发布而出现的。不过后来,这个名字就一直沿用下来了,已经没有什么特别的含义了。想了解更多信息,可以参考这个链接:什么是NT?
5
os模块可以让我们根据代码运行的操作系统来执行不同的代码。
nt表示你正在使用Windows系统,而posix则表示你在使用Mac系统。
如果你想检查你的操作系统是Windows、Linux还是OSX,最可靠的方法是使用platform.system()。如果你想通过内置的Python模块来进行特定于操作系统的调用,可以使用os.name。
>>> import platform
>>> platform.system()
'Windows' # for Linux it prints 'Linux', Mac it prints `'Darwin'
想了解更多信息,可以参考这里:Python: 我正在使用哪个操作系统?
11
你可以使用 platform
模块来进行检查:
In [244]: import platform
In [247]: platform.version()
Out[247]: '6.1.7601'
In [248]: platform.system()
Out[248]: 'Windows'
In [249]: platform.release()
Out[249]: '7'
In [250]: platform.win32_ver()
Out[250]: ('7', '6.1.7601', 'SP1', 'Multiprocessor Free')
In [268]: platform.platform()
Out[268]: 'Windows-7-6.1.7601-SP1'
所以只需要用 platform.system() == 'Windows' and platform.release() == 7
来检查一下就可以了;)
或者更简单的方法是用 'Windows-7' in platform.platform()
。