确定是否在Ubuntu Linux中运行python

时间:2011-12-01 09:02:58

标签: python linux ubuntu

我有一个像这样运行的Python 3.2程序:

import platform
sysname = platform.system()
sysver = platform.release()
print(sysname+" "+sysver)

在Windows上它返回:

Windows 7

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

我需要类似的东西:

Ubuntu 11.10或Mint 12

5 个答案:

答案 0 :(得分:6)

尝试platform.dist

>>> platform.dist()
('Ubuntu', '11.10', 'oneiric')

答案 1 :(得分:6)

当前接受的答案使用已弃用的功能。从Python 2.6及更高版本开始执行此操作的正确方法是:

import platform
print(platform.linux_distribution())

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

>>> import platform
>>> print(platform.linux_distribution())
('', '', '')

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

>>> print(platform.win32_ver())
('post2008Server', '6.1.7601', 'SP1', 'Multiprocessor Free')

答案 2 :(得分:1)

看起来platform.dist()platform.linux_distribution()deprecated in Python 3.5 and will be removed in Python 3.7。以下适用于python 2/3

import platform
'ubuntu' in platform.platform().lower()

示例返回值

>>> platform.platform()
'Linux-4.10.0-40-generic-x86_64-with-Ubuntu-16.04-xenial'

答案 3 :(得分:0)

或者,你可以这样做:

import sys
sys.platform

它会返回:'linux2',或者你可以实现try..finally代码块。

答案 4 :(得分:-1)

is_ubuntu = 'ubuntu' in os.getenv('DESKTOP_SESSION', 'unknown')

如果您在Unity或Unity-2D中运行,请选择。如果您正在寻找它。