在Linux上利用python获取本机ip
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                在Linux上利用python获取本机ip
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                下面介紹在Linux上利用python獲取本機(jī)ip的方法.
經(jīng)過網(wǎng)上調(diào)查, 發(fā)現(xiàn)大致有兩種方法, 一種是調(diào)用shell腳本,另一種是利用python中的socket等模塊來得到,下面是這兩種方法的源碼:
#!/usr/bin/env python
#encoding: utf-8
#description: get local ip addressimport os
import socket, fcntl, structdef get_ip():#注意外圍使用雙引號(hào)而非單引號(hào),并且假設(shè)默認(rèn)是第一個(gè)網(wǎng)卡,特殊環(huán)境請(qǐng)適當(dāng)修改代碼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)卡接口, 我更傾向于這個(gè)方法
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')下面是運(yùn)行截圖
 
參考文獻(xiàn)
[1].http://bbs.csdn.net/topics/190130360
 
總結(jié)
以上是生活随笔為你收集整理的在Linux上利用python获取本机ip的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 在Ubuntu 14.04 64bit上
 - 下一篇: 在CentOS 6.6 64bit上安装