Devo ottenere il nome di distribuzione di Linux da uno script Python. C'è un metodo dist
nel modulo della piattaforma:Controllare il nome di distribuzione di Linux
import platform
platform.dist()
Ma sotto la mia Arch Linux restituisce:
>>> platform.dist()
('', '', '')
Perché? Come posso ottenere il nome?
PS. Devo controllare se la distribuzione è basata su Debian.
Aggiornamento: Ho trovato qui Python site, che dist() è sconsigliata dal 2.6.
>>> platform.linux_distribution()
('', '', '')
@Kimvais Voglio dire ottenere il nome esattamente dallo script python senza analizzare alcun file, solo metodi standard. – Ockonal
cosa restituisce 'uname -a' su Arch? platform.py è 1600 linee di prova di tutto ciò a cui possono pensare per distinguere i vari sistemi; è un enorme mucchio di euristiche. Anche Arch sembra basarsi solo su se stesso, nessun'altra distro: http://en.wikipedia.org/wiki/Arch_Linux – msw
Cosa restituisce "lsb_release" in Arch? Se 'platform.dist()' non fornisce dati utilizzabili, è possibile chiamare 'subprocess.check_output ([" lsb_release "," - is "])'. – panzi