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 Django连接MySQL数据库做增删改查
Nov 07 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
Jun 03 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
Aug 18 Python
Python3 操作符重载方法示例
Nov 23 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
Django 浅谈根据配置生成SQL语句的问题
May 29 Python
Python学习笔记之错误和异常及访问错误消息详解
Aug 08 Python
python:批量统计xml中各类目标的数量案例
Mar 10 Python
Python SMTP配置参数并发送邮件
Jun 16 Python
Python collections模块的使用方法
Oct 09 Python
Pycharm安装python库的方法
Nov 24 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开源项目的源码指南
2014/12/21 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
python网络编程学习笔记(一)
2014/06/09 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
超简单的Python HTTP服务
2019/07/22 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
django的ORM操作 增加和查询
2019/07/26 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
Django的性能优化实现解析
2019/07/30 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python 三元运算符使用解析
2019/09/16 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
出国签证在职证明
2014/01/16 职场文书
追悼会主持词
2014/03/20 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
事业单位考察材料范文
2014/12/25 职场文书