Windows 7上的Python os.name返回nt

Mos*_*ebi 0 python

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)

zha*_*hen 5

您可以使用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()


Aru*_*van 5

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:我在什么操作系统上运行?