2011-05-10 12 views

Odpowiedz

9

Biblioteka platform module w standardowej bibliotece ma to, czego potrzebujesz.

import platform 
print platform.linux_distribution() 
+1

Dzięki, to działa. Ale znalazłem, że 'platform.linux_distribution()' jest obsługiwane przez Python 2.6. Dla popularnego CentOS 5.5, ponieważ jego domyślna wersja Pythona to 2.4.3, więc musi używać 'platform.dist()'. – William

+1

Podobnie jak aktualizacja, 'platform.linux_distribution()' została zamortyzowana. Zaleca się używanie bibliotek PyPI, takich jak distro https://github.com/nir0s/distro, dyskusja na ten temat https://bugs.python.org/msg207415 – CasualDemon

3

Jeśli potrzebujesz tylko wiedzieć, czy użyć yum, czy apt, jednym z nich jest po prostu wybrać jedno z tych poleceń i spróbować. Jeśli to działa, działa; jeśli nie, przechwyć wyjątek i wypróbuj inne polecenie.

+1

Jest to z pewnością "pythonic" sposób to zrobić ... Jeśli PO chce tylko wybierać pomiędzy 'yum',' apt', 'zypper',' emerge', 'etc' to chyba Najlepszym sposobem. Z drugiej strony, jeśli istnieje inna funkcja specyficzna dla dystrybucji, może być bardziej sensowne korzystanie z modułu 'platforma' ... Tak czy inaczej, +1 ode mnie! –

+0

Dziękuję. Jeśli nie ma dobrego sposobu na rozróżnienie tych platform, użyję twojej metody. – William

Powiązane problemy