Python獲取linux主機(jī)ip的簡(jiǎn)單實(shí)現(xiàn)方法
本文實(shí)例講述了Python獲取linux主機(jī)ip的簡(jiǎn)單實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
python有好幾種方法可以獲取主機(jī)的ip地址。我常用的一種是通過(guò)socket.socket().inet_ntoa()來(lái)實(shí)現(xiàn),非常方便;但這種方法有個(gè)限制就是要把網(wǎng)卡名(比如eth0)作為參數(shù)傳進(jìn)來(lái)。所以加多了一個(gè)條件判斷,如果發(fā)現(xiàn)以上方法獲取ip拋異常時(shí),那就用調(diào)起shell命令(ifconfig)和管道,把想要的ip給過(guò)濾出來(lái)。
import socket import fcntl import struct """ 獲取主機(jī)ip地址 參數(shù)ifname: 通過(guò)'lo'獲取的為環(huán)回地址, 通過(guò)'eth0'獲取的為主機(jī)ip地址 """ def get_ip_address(ifname='eth0'): try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24]) except: ips = os.popen("LANG=C ifconfig | grep \"inet addr\" | grep -v \"127.0.0.1\" | awk -F \":\" '{print $2}' | awk '{print $1}'").readlines() if len(ips) > 0: return ips[0] return ''
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python使用cx_Freeze庫(kù)生成msi格式安裝文件的方法
這篇文章主要介紹了Python使用cx_Freeze庫(kù)生成msi格式安裝文件的方法,結(jié)合實(shí)例形式分析了Python基于cx_Freeze庫(kù)生成msi格式安裝文件操作技巧與相關(guān)問(wèn)題解決方法,需要的朋友可以參考下2018-07-07Python EOL while scanning string literal問(wèn)題解決方法
這篇文章主要介紹了Python EOL while scanning string literal問(wèn)題解決方法,本文總結(jié)出是數(shù)據(jù)庫(kù)數(shù)據(jù)出現(xiàn)問(wèn)題導(dǎo)致這個(gè)問(wèn)題,需要的朋友可以參考下2015-04-04Python標(biāo)準(zhǔn)庫(kù)itertools的使用方法
本文匯總整理了Python標(biāo)準(zhǔn)庫(kù)itertools的使用方法,并提供簡(jiǎn)單應(yīng)用示例;如果還不能滿足你的要求,歡迎加入補(bǔ)充2020-01-01Python?pandas?DataFrame數(shù)據(jù)拼接方法
我們都知道在使用pandas處理數(shù)據(jù)的時(shí)候,往往會(huì)需要合并兩個(gè)或者多個(gè)DataFrame的操作,下面這篇文章主要給大家介紹了關(guān)于Python?pandas?DataFrame數(shù)據(jù)拼接方法的相關(guān)資料,需要的朋友可以參考下2022-07-07Python基于Ui控件解析的自動(dòng)化實(shí)現(xiàn)微信(關(guān)鍵詞)自動(dòng)回復(fù)
這篇文章主要為大家介紹了Python基于Ui控件解析的自動(dòng)化實(shí)現(xiàn)微信(關(guān)鍵詞)自動(dòng)回復(fù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Python入門必須知道的11個(gè)知識(shí)點(diǎn)
這篇文章主要為大家詳細(xì)介紹了Python入門必須知道的11個(gè)知識(shí)點(diǎn),幫助更好地了解python,感興趣的小伙伴們可以參考一下2018-03-03編寫Python小程序來(lái)統(tǒng)計(jì)測(cè)試腳本的關(guān)鍵字
這篇文章主要介紹了編寫Python小程序來(lái)統(tǒng)計(jì)測(cè)試腳本的關(guān)鍵字的方法,文中的實(shí)例不僅可以統(tǒng)計(jì)關(guān)鍵字?jǐn)?shù)量,還可以按主關(guān)鍵字來(lái)歸類,需要的朋友可以參考下2016-03-03