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 13 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python中Subprocess的不同函数解析
Dec 10 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
Python大批量搜索引擎图像爬虫工具详解
Nov 16 Python
Python Http请求json解析库用法解析
Nov 28 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 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使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
pytorch + visdom 处理简单分类问题的示例
2018/06/04 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
python 装饰器的使用示例
2020/10/10 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
大学毕业生工作的自我评价
2013/10/01 职场文书
办护照工作证明范本
2014/01/14 职场文书
党风廉政承诺书
2014/03/27 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
MySQL sql模式设置引起的问题
2022/05/15 MySQL
Go语言测试库testify使用学习
2022/07/23 Golang