我要查看我是在Windows仍是Unix等上,我須要查看什麼? html
對於Jython,我發現得到OS名稱的惟一方法是檢查os.name
Java屬性(在WINXP上爲Jython 2.5.3嘗試了sys
, os
和platform
模塊): java
def get_os_platform(): """return platform name, but for Jython it uses os.name Java property""" ver = sys.platform.lower() if ver.startswith('java'): import java.lang ver = java.lang.System.getProperty("os.name").lower() print('platform: %s' % (ver)) return ver
若是您想要用戶可讀的數據但仍然很詳細,則能夠使用platform.platform() python
>>> import platform >>> platform.platform() 'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'
您能夠撥打如下幾種可能的電話來識別本身的位置 linux
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 git
以Ubuntu 12.04服務器爲例: github
Python version: ['2.6.5 (r265:79063, Oct 1 2012, 22:04:36) ', '[GCC 4.4.3]'] dist: ('Ubuntu', '10.04', 'lucid') linux_distribution: ('Ubuntu', '10.04', 'lucid') system: Linux machine: x86_64 platform: Linux-2.6.32-32-server-x86_64-with-Ubuntu-10.04-lucid uname: ('Linux', 'xxx', '2.6.32-32-server', '#62-Ubuntu SMP Wed Apr 20 22:07:43 UTC 2011', 'x86_64', '') version: #62-Ubuntu SMP Wed Apr 20 22:07:43 UTC 2011 mac_ver: ('', ('', '', ''), '')
在Windows 8上有趣的結果: centos
>>> import os >>> os.name 'nt' >>> import platform >>> platform.system() 'Windows' >>> platform.release() 'post2008Server'
編輯:那是一個錯誤 服務器
若是您不是在尋找內核版本等,而是在尋找Linux發行版,則可能須要使用如下代碼 post
在python2.6 +中 ui
>>> import platform >>> print platform.linux_distribution() ('CentOS Linux', '6.0', 'Final') >>> print platform.linux_distribution()[0] CentOS Linux >>> print platform.linux_distribution()[1] 6.0
在python2.4中
>>> import platform >>> print platform.dist() ('centos', '6.0', 'Final') >>> print platform.dist()[0] centos >>> print platform.dist()[1] 6.0
顯然,這隻有在Linux上運行時纔有效。 若是但願跨平臺使用更通用的腳本,能夠將其與其餘答案中給出的代碼示例混合使用。
>>> import os >>> print os.name posix >>> import platform >>> platform.system() 'Linux' >>> platform.release() '2.6.22-15-generic'
platform.system()
的輸出以下:
Linux
Darwin
Windows
請參閱: 平臺-訪問基礎平臺的標識數據