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导出数据到Excel可读取的CSV文件的方法
May 12 Python
Python中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
python 使用get_argument获取url query参数
Apr 28 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
django的登录注册系统的示例代码
May 14 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
python如何更新包
Jun 11 Python
容易被忽略的Python内置类型
Sep 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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP 错误处理机制
2015/07/06 PHP
PHP基本语法实例总结
2016/09/09 PHP
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
新手该如何学python怎么学好python?
2008/10/07 Python
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
网络方面基础面试题
2012/11/16 面试题
职业生涯规划书前言
2014/04/15 职场文书
小学三年级学生评语
2014/04/22 职场文书
梅花魂教学反思
2014/04/25 职场文书
调研报告的主要写法
2019/04/18 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
python中的None与NULL用法说明
2021/05/25 Python
Java存储没有重复元素的数组
2022/04/29 Java/Android