Python os.name在Windows 7上返回“ nt”
我正在使用os.name来获取当前脚本正在其下运行的当前操作系统的名称。但是奇怪的是,它返回的不是“ Windows 7”,而是“ nt”。
这是代码:
import os
print(os.name)
Run Code Online (Sandbox Code Playgroud)
结果:
nt
Run Code Online (Sandbox Code Playgroud)
您可以使用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'
Run Code Online (Sandbox Code Playgroud)
所以只用platform.system() == 'Windows' and platform.release() == 7检查;)
或更简单'Windows-7' in platform.platform()。
os-module 允许我们根据代码运行的操作系统来运行不同的代码。
nt表示您正在运行 windows,而 posix mac
如果你想检查操作系统是Windows、Linux还是OSX,那么最可靠的方法是platform.system()。 如果您想通过内置 Python 模块 posix 或 nt 进行特定于操作系统的调用,请使用 os.name。
>>> import platform
>>> platform.system()
'Windows' # for Linux it prints 'Linux', Mac it prints `'Darwin'
Run Code Online (Sandbox Code Playgroud)
请参阅此处了解更多信息。Python:我在什么操作系统上运行?