linux中如何使用python3获取ip地址


Posted in Python onJuly 15, 2019

前言

这篇文章主要介绍了linux中如何使用python3获取ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。

一、不带参数

#!/usr/bin/python
 
# -*- coding: UTF-8 -*-
 
import os
 
 
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()
  ip=out.split('\n')[0]
  return ip
res = get_ip()
print(res)

二、带参数

如果服务器是centos6 / centos7 两种机器,上面方法对centos7不能正确获取,而且有时要获取的不是第一块网卡

下面的方法可以同时用在windows 和linux 操作系统,windows 不需要带参数,linux 参数为网卡名称

# -*- coding: UTF-8 -*-
 
import socket
import os
import platform
import re
 
 
def get_ip(*args):
  if platform.system() == 'Windows':
    my_name = socket.getfqdn(socket.gethostbyname('localhost'))
    my_addr = socket.gethostbyname(my_name)
    ip = my_addr.split('\n')[0]
    return ip
  else:
 
    my_addr = os.popen(
      "ifconfig | grep -A 1 %s|tail -1| awk '{print $2}'" % args[0]).read()
    ip = re.search(r'(?<![\.\d])(?:25[0-5]\.|2[0-4]\d\.|[01]?\d\d?\.)'
                r'{3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)(?![\.\d])',my_addr).group()
    return ip
 
 
if __name__ == '__main__':
  f = get_ip('eno16777736')
  print(f)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python访问sqlserver示例
Feb 10 Python
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
Python HTMLParser模块解析html获取url实例
Apr 08 Python
python爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
selenium+python 对输入框的输入处理方法
Oct 11 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
python+pyqt5编写md5生成器
Mar 18 Python
使用python爬取微博数据打造一颗“心”
Jun 28 Python
离线状态下在jupyter notebook中使用plotly实例
Apr 24 Python
python中append函数用法讲解
Dec 11 Python
Django对接elasticsearch实现全文检索的示例代码
Aug 02 Python
Python音乐爬虫完美绕过反爬
Aug 30 Python
python实现中文文本分句的例子
Jul 15 #Python
Python如何筛选序列中的元素的方法实现
Jul 15 #Python
python内存动态分配过程详解
Jul 15 #Python
python实现动态数组的示例代码
Jul 15 #Python
python移位运算的实现
Jul 15 #Python
python与C、C++混编的四种方式(小结)
Jul 15 #Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 #Python
You might like
PHP实现分页的一个示例
2006/10/09 PHP
header()函数使用说明
2006/11/23 PHP
用PHP实现的生成静态HTML速度快类库
2007/03/31 PHP
在PHP中设置、使用、删除Cookie的解决方法
2013/05/06 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
详解A标签中href=&quot;&quot;的几种用法
2017/08/20 Javascript
JS判断数组那点事
2017/10/10 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
解决在vue项目中webpack打包后字体不生效的问题
2018/09/01 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
Python实现端口检测的方法
2018/07/24 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
python 将Excel转Word的示例
2021/03/02 Python
学习2014年全国两会心得体会
2014/03/12 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
放假通知格式
2015/04/14 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
详解python的异常捕获
2022/03/03 Python
使用Redis做预定库存缓存功能
2022/04/02 Redis