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 ORM框架SQLAlchemy学习笔记之关系映射实例
Jun 10 Python
详解Python函数作用域的LEGB顺序
May 14 Python
浅谈python中set使用
Jun 30 Python
教你用Type Hint提高Python程序开发效率
Aug 08 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
解决Djang2.0.1中的reverse导入失败的问题
Aug 16 Python
python中几种自动微分库解析
Aug 29 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 Python
python 如何将office文件转换为PDF
Sep 22 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源代码数组统计count分析
2011/08/02 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
jcrop基本参数一览
2013/07/16 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
python写的一个squid访问日志分析的小程序
2014/09/17 Python
用python写的一个wordpress的采集程序
2016/02/27 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
python和c语言的主要区别总结
2019/07/07 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
2020/01/02 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
益模软件Java笔试题
2012/03/27 面试题
违反校纪校规检讨书
2014/02/15 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
员工入职担保书范文
2014/04/01 职场文书
敬老院标语
2014/06/27 职场文书
幼师辞职信范文
2015/02/27 职场文书
Python采集股票数据并制作可视化柱状图
2022/04/04 Python