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中字符串对齐方法介绍
May 21 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
Python常见排序操作示例【字典、列表、指定元素等】
Aug 15 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
python随机数分布random均匀分布实例
Nov 27 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
python中round函数保留两位小数的方法
Dec 04 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
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
Prototype RegExp对象 学习
2009/07/19 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
实例讲解React 组件
2020/07/07 Javascript
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
haskell实现多线程服务器实例代码
2013/11/26 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
python import 上级目录的导入
2020/11/03 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
主题实践活动总结
2014/05/08 职场文书
文明城市标语
2014/06/16 职场文书
医学求职自荐信
2014/06/21 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
作弊检讨书
2015/01/27 职场文书
MYSQL 表的全面总结
2021/11/11 MySQL
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers