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将html转成PDF的实现代码(包含中文)
Mar 04 Python
python调用shell的方法
Nov 20 Python
对python中return和print的一些理解
Aug 18 Python
PyQt5每天必学之拖放事件
Aug 27 Python
Python文本统计功能之西游记用字统计操作示例
May 07 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python脚本之一键移动自定格式文件方法实例
Sep 02 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
Python使用type动态创建类操作示例
Feb 29 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 02 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
超级简单的发送邮件程序
2006/10/09 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
php之可变变量的实例详解
2017/09/12 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
机电工程学生自荐信范文
2013/12/07 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
质量月活动策划方案
2014/03/10 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
安全协议书
2014/04/23 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
服务整改报告
2014/11/06 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
javascript函数式编程基础
2021/09/15 Javascript
Windows server 2016服务器基本设置
2022/08/14 Servers