确定是否在Ubuntu Linux中运行python

tri*_*ure 10 python linux ubuntu

我有一个Python 3.2程序,运行方式如下:

import platform
sysname = platform.system()
sysver = platform.release()
print(sysname+" "+sysver)
Run Code Online (Sandbox Code Playgroud)

在Windows上它返回:

Windows 7的

但是在Ubuntu和其他人
身上它会返回:Linux 3.0.0-13-generic

我需要这样的东西:

Ubuntu 11.10或Mint 12

Mat*_*ner 6

试试platform.dist.

>>> platform.dist()
('Ubuntu', '11.10', 'oneiric')
Run Code Online (Sandbox Code Playgroud)

  • platform.dist()现在已经过时了,我们应该使用platform.linux_distribution()(只需阅读文档,感谢@Gazler) (4认同)

unw*_*ind 5

当前接受的答案使用已弃用的功能.从Python 2.6及更高版本开始,这样做的正确方法是:

import platform
print(platform.linux_distribution())
Run Code Online (Sandbox Code Playgroud)

该文档没有说明这个功能是否在非Linux平台上可用,但在我的本地Windows桌面上我得到:

>>> import platform
>>> print(platform.linux_distribution())
('', '', '')
Run Code Online (Sandbox Code Playgroud)

还有这个,在Win32机器上做类似的事情:

>>> print(platform.win32_ver())
('post2008Server', '6.1.7601', 'SP1', 'Multiprocessor Free')
Run Code Online (Sandbox Code Playgroud)


cri*_*aig 5

看起来像platform.dist()在 Python 3.5platform.linux_distribution()已弃用,并将在 Python 3.8 中删除。以下在 Python 2/3 中有效

import platform
'ubuntu' in platform.platform().lower()
Run Code Online (Sandbox Code Playgroud)

示例返回值

>>> platform.platform()
'Linux-4.10.0-40-generic-x86_64-with-Ubuntu-16.04-xenial'
Run Code Online (Sandbox Code Playgroud)