Linux下通過python獲取本機ip方法示例
更新時間:2019年09月06日 11:24:45 作者:雪峰流云
這篇文章主要給大家介紹了關于在Linux下通過python獲取本機ip的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
下面介紹在Linux上利用python獲取本機ip的方法.
經(jīng)過網(wǎng)上調查, 發(fā)現(xiàn)大致有兩種方法, 一種是調用shell腳本,另一種是利用python中的socket等模塊來得到,下面是這兩種方法的源碼:
#!/usr/bin/env python
#encoding: utf-8
#description: get local ip address
import os
import socket, fcntl, struct
def get_ip():
#注意外圍使用雙引號而非單引號,并且假設默認是第一個網(wǎng)卡,特殊環(huán)境請適當修改代碼
out = os.popen("ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{print $1}' | head -1").read()
print out
#另一種方法, 只需要指定網(wǎng)卡接口, 我更傾向于這個方法
def get_ip2(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15]))[20:24])
if __name__ == '__main__':
get_ip()
print get_ip2('eth0')
print get_ip2('lo')
下面是運行截圖

參考文獻
[1].http://bbs.csdn.net/topics/190130360
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關文章
python驗證公網(wǎng)ip與內網(wǎng)ip的實現(xiàn)示例
本文主要介紹了python驗證公網(wǎng)ip與內網(wǎng)ip的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
控制Python浮點數(shù)輸出位數(shù)的操作方法
在python的輸出結果中,尤其是浮點數(shù)的輸出,當我們需要寫入文本文件時,最好是采用統(tǒng)一的輸出格式,這樣也能夠增強結果的可讀性,這篇文章主要介紹了控制Python浮點數(shù)輸出位數(shù)的方法,需要的朋友可以參考下2022-04-04
python pandas dataframe 去重函數(shù)的具體使用
這篇文章主要介紹了python pandas dataframe 去重函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07
Python基于socket模塊實現(xiàn)UDP通信功能示例
這篇文章主要介紹了Python基于socket模塊實現(xiàn)UDP通信功能,結合實例形式分析了Python使用socket模塊實現(xiàn)IPV4協(xié)議下的UDP通信客戶端與服務器端相關操作技巧,需要的朋友可以參考下2018-04-04

