Linux下通过python获取本机ip方法示例


Posted in Python onSeptember 06, 2019

下面介绍在Linux上利用python获取本机ip的方法.

经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码:

#!/usr/bin/env python
#encoding: utf-8
#description: get local ip address
 
import os
import socket, fcntl, struct
 
def get_ip():
 #注意外围使用双引号而非单引号,并且假设默认是第一个网卡,特殊环境请适当修改代码
 out = os.popen("ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{print $1}' | head -1").read()
 print out
 
#另一种方法, 只需要指定网卡接口, 我更倾向于这个方法
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')

下面是运行截图

Linux下通过python获取本机ip方法示例

参考文献

[1].http://bbs.csdn.net/topics/190130360

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
Mar 14 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
python判断输入日期为第几天的实例
Nov 13 Python
python如何保证输入键入数字的方法
Aug 23 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
Python简单实现区域生长方式
Jan 16 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
Feb 14 Python
python小白切忌乱用表达式
May 29 Python
浅谈pandas dataframe对除数是零的处理
Jul 20 Python
python munch库的使用解析
May 25 Python
使用Python获取字典键对应值的方法
Apr 26 Python
django-crontab 定时执行任务方法的实现
Sep 06 #Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 #Python
python自动发微信监控报警
Sep 06 #Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 #Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 #Python
Python数学形态学实例分析
Sep 06 #Python
Python统计分析模块statistics用法示例
Sep 06 #Python
You might like
PHP实现的方程求解示例分析
2016/11/11 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
python实现从尾到头打印单链表操作示例
2020/02/22 Python
python实现简单井字棋小游戏
2020/03/05 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
文明寝室申报材料
2014/05/12 职场文书
积极向上的团队口号
2014/06/06 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
论群众路线学习笔记
2014/11/06 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
天坛导游词
2015/02/02 职场文书
爱心捐助活动总结
2015/05/09 职场文书
鲁冰花观后感
2015/06/10 职场文书
导游词之湖州-太湖
2019/10/11 职场文书