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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
Python写的一个简单监控系统
Jun 19 Python
Python实现选择排序
Jun 04 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 Python
django drf框架自带的路由及最简化的视图
Sep 10 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
详解Python openpyxl库的基本应用
Feb 26 Python
如何理解python接口自动化之logging日志模块
Jun 15 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 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中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
javascript面向对象之Javascript 继承
2010/05/04 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
python实现将文本转换成语音的方法
2015/05/28 Python
Python基于select实现的socket服务器
2016/04/13 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
2020/03/06 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
中科创达面试题
2016/12/28 面试题
IBatis持久层技术
2016/07/18 面试题
关于爱情的广播稿
2014/01/16 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python