正如标题所说,我怎样才能在python中找到当前的操作系统?
答案 0 :(得分:232)
我通常使用sys.platform
来获取平台。 sys.platform
将区分linux,其他unix和OS X,而os.name
对于所有这些都是“posix
”。
有关更详细的信息,请使用platform module。这有跨平台功能,可以为您提供有关机器架构,操作系统和操作系统版本,Python版本等的信息。此外,它还具有特定于操作系统的功能,可以获得特定的Linux发行版。
答案 1 :(得分:228)
如果您想要用户可读的数据但仍然详细,可以使用platform.platform()
>>> import platform
>>> platform.platform()
'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'
platform
还有一些其他有用的方法:
>>> platform.system()
'Windows'
>>> platform.release()
'XP'
>>> platform.version()
'5.1.2600'
您可以通过以下几种不同的方式来确定自己的位置
import platform
import sys
def linux_distribution():
try:
return platform.linux_distribution()
except:
return "N/A"
print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
mac_ver: %s
""" % (
sys.version.split('\n'),
str(platform.dist()),
linux_distribution(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
platform.mac_ver(),
))
此脚本的输出在几个不同的系统(Linux,Windows,Solaris,MacOS)上运行,架构(x86,x64,Itanium,power pc,sparc)可在此处获取:https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version
答案 2 :(得分:39)
import os
print os.name
这为您提供了通常需要的基本信息。要区分不同版本的Windows,您必须使用特定于平台的方法。
答案 3 :(得分:17)
https://docs.python.org/library/os.html
为了补充Greg的帖子,如果你使用的是posix系统,包括MacOS,Linux,Unix等,你可以使用os.uname()来更好地了解它是什么类型的系统。
答案 4 :(得分:5)
有些事情:
import os
if (os.name == "posix"):
print os.system("uname -a")
# insert other possible OSes here
# ...
else:
print "unknown OS"