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使用reportlab画图示例(含中文汉字)
Dec 03 Python
Python语言描述随机梯度下降法
Jan 04 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
python散点图实例之随机漫步
Aug 27 Python
python实现图片识别汽车功能
Nov 30 Python
PyTorch预训练的实现
Sep 18 Python
python3 webp转gif格式的实现示例
Dec 10 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
Mar 30 Python
Python基于Twilio及腾讯云实现国际国内短信接口
Jun 18 Python
Pytorch实验常用代码段汇总
Nov 19 Python
Django REST framework 限流功能的使用
Jun 24 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文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
php技巧小结【推荐】
2017/01/19 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
jquery动态改变form属性提交表单
2014/06/03 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
python SocketServer源码深入解读
2019/09/17 Python
pymysql 开启调试模式的实现
2019/09/24 Python
python输出数学符号实例
2020/05/11 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
python如何调用百度识图api
2020/09/29 Python
python推导式的使用方法实例
2021/02/28 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
银行委托书范本
2014/04/04 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
MongoDB balancer的使用详解
2021/04/30 MongoDB
Python实现制作销售数据可视化看板详解
2021/11/27 Python