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中pycurl库的用法实例
Sep 30 Python
Python中用Spark模块的使用教程
Apr 13 Python
python使用socket远程连接错误处理方法
Apr 29 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
python 异常处理总结
Oct 18 Python
Bottle框架中的装饰器类和描述符应用详解
Oct 28 Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 Python
python基础教程项目三之万能的XML
Apr 02 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
解决keras加入lambda层时shape的问题
Jun 11 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
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
window.open不被拦截的实现代码
2012/08/22 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
js控制input输入字符解析
2013/12/27 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
Python之PyUnit单元测试实例
2014/10/11 Python
介绍Python中的文档测试模块
2015/04/28 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
公司总经理助理岗位职责
2014/07/09 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
地震慰问信
2015/02/14 职场文书
MySQL主从切换的超详细步骤
2022/06/28 MySQL