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中规范定义命名空间的一些建议
Jun 04 Python
Python处理JSON数据并生成条形图
Aug 05 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
Python之用户输入的实例
Jun 22 Python
使用Python获取网段IP个数以及地址清单的方法
Nov 01 Python
Python字典对象实现原理详解
Jul 01 Python
python根据时间获取周数代码实例
Sep 30 Python
python 写一个性能测试工具(一)
Oct 24 Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
May 12 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 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单例模式与工厂模式详解
2017/08/29 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
零基础php编程好学吗
2019/10/11 PHP
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
IE iframe的onload方法分析小结
2010/01/07 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
django在开发中取消外键约束的实现
2020/05/20 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
外企C语言笔试题
2013/11/10 面试题
2014财务人员自我评价范文
2014/09/21 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
在Docker容器中部署SQL Server
2022/04/11 Servers
MySQL transaction事务安全示例讲解
2022/06/21 MySQL