我如何在Python中find当前的操作系统?

可能重复:
Python:我在哪个操作系统上运行?

正如标题所说,我怎样才能find当前的操作系统在Python?

我通常使用sys.platform来获取平台。 sys.platform将区分linux,其他unixes和OS X,而os.name是所有它们的“ posix ”。

有关更多详细信息,请使用平台模块 。 它具有跨平台function,可以为您提供有关机器体系结构,操作系统和操作系统版本,Python版本等的信息。此外,它还具有特定于操作系统的function来获取特定的Linux发行版本。

如果你想要用户可读的数据,但仍然是详细的,你可以使用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(), )) 

这个脚本的输出在很多不同的系统上运行,可以在这里find: https : //github.com/hpcugent/easybuild/wiki/OS_flavor_name_version

 import os print os.name 

这给你通常需要的基本信息。 要区分不同版本的Windows,您将不得不使用特定于平台的方法。

https://docs.python.org/library/os.html

为了补充Greg的文章,如果你在一个包括MacOS,Linux,Unix等的posix系统上,你可以使用os.uname()来更好地感受它是什么types的系统。

沿线的东西:

 import os if (os.name == "posix"): print os.system("uname -a") # insert other possible OSes here # ... else: print "unknown OS"