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 装饰器功能以及函数参数使用介绍
Jan 27 Python
对python3标准库httpclient的使用详解
Dec 18 Python
在Python文件中指定Python解释器的方法
Feb 18 Python
Python3.5文件修改操作实例分析
May 01 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
Python实现代码统计工具
Sep 19 Python
Python中的四种交换数值的方法解析
Nov 18 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
基于Python脚本实现邮件报警功能
May 20 Python
python3美化表格数据输出结果的实现代码
Apr 14 Python
Django显示可视化图表的实践
May 10 Python
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 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
第六节 访问属性和方法 [6]
2006/10/09 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
jQuery中的常用事件总结
2009/12/27 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
2016/05/09 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
vue 左滑删除功能的示例代码
2019/01/28 Javascript
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
python使用pil生成缩略图的方法
2015/03/26 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
详解python字节码
2018/02/07 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
Python箱型图处理离群点的例子
2019/12/09 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
销售经理岗位职责
2014/03/16 职场文书
物流管理专业自荐信
2014/06/23 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
教师节老师寄语
2015/05/28 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL