我有一个像这样运行的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
答案 0 :(得分:6)
>>> 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中运行,请选择。如果您正在寻找它。