>> platform.di..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python獲取Linux發(fā)行版名稱

發(fā)布時(shí)間:2020-09-16 11:50:32 來(lái)源:腳本之家 閱讀:196 作者:python之蟬 欄目:開發(fā)技術(shù)

我必須從Python腳本中獲取Linux發(fā)行版名稱。dist平臺(tái)模塊中有一個(gè)方法:

import platform
platform.dist()

但在我的Arch Linux下它返回:

>>> platform.dist()
('', '', '')

為什么?我怎么能得到這個(gè)名字?

PS。我必須檢查分發(fā)是否是基于Debian的。

更新:我在這里找到了Python站點(diǎn),自2.6以來(lái),dist()已被棄用。

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

解決方案

這對(duì)我在Ubuntu上有用:

('Ubuntu', '10.04', 'lucid')

然后我常常strace找出平臺(tái)模塊正在做什么來(lái)查找分布,這是這部分:

open("/etc/lsb-release", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=102, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=102, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76b1000
read(3, "DISTRIB_ID=Ubuntu\nDISTRIB_RELEAS"..., 8192) = 102
read(3, "", 4096)            = 0
read(3, "", 8192)            = 0
close(3)                = 0

所以,/etc/lsb-release包含這些信息,來(lái)自Ubuntu的Debian基礎(chǔ)文件包。

總結(jié)

以上所述是小編給大家介紹的python獲取Linux發(fā)行版名稱,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI