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入门_浅谈for循环、while循环
May 16 Python
简单谈谈python中的语句和语法
Aug 10 Python
TensorFlow的权值更新方法
Jun 14 Python
Python实现正整数分解质因数操作示例
Aug 01 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 Python
python后端接收前端回传的文件方法
Jan 02 Python
python groupby 函数 as_index详解
Dec 16 Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 Python
Python Tornado批量上传图片并显示功能
Mar 26 Python
详解pandas.DataFrame.plot() 画图函数
Jun 14 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
Nov 28 Python
LyScript实现绕过反调试保护的示例详解
Aug 14 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实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
利用PHP实现短域名互转
2013/07/05 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
详解Vue.js 响应接口
2020/07/04 Javascript
小程序实现录音功能
2020/09/22 Javascript
python解析json实例方法
2013/11/19 Python
Python爬虫文件下载图文教程
2018/12/23 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
用python实现一个简单的验证码
2020/12/09 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
职业生涯规划怎么写
2013/12/29 职场文书
18岁生日感言
2014/01/12 职场文书
倡议书格式范文
2014/04/14 职场文书
加强作风建设工作总结
2014/10/23 职场文书
服务承诺书
2015/01/19 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
学习焦裕禄观后感
2015/06/09 职场文书