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中的内存泄漏
Apr 23 Python
Python变量和数据类型详解
Feb 15 Python
python将unicode转为str的方法
Jun 21 Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
python3爬虫怎样构建请求header
Dec 23 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
python实现的汉诺塔算法示例
Oct 23 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
高考要来啦!用Python爬取历年高考数据并分析
Jun 03 Python
Python实现单例模式的5种方法
Jun 15 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排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
详解YII关联查询
2016/01/10 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
JavaScript 学习笔记(五)
2009/12/31 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
js实现整体缩放页面适配移动端
2020/03/31 Javascript
Python实现约瑟夫环问题的方法
2016/05/03 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
python中自带的三个装饰器的实现
2019/11/08 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
几道PHP面试题
2013/04/14 面试题
C/C++程序员常见面试题二
2015/11/19 面试题
入党个人总结范文
2015/03/02 职场文书
财政局长个人总结
2015/03/04 职场文书
商场广播稿范文
2015/08/19 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
七年级英语教学反思
2016/02/15 职场文书