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创建关联数组(字典)的方法
May 04 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
python实现大转盘抽奖效果
Jan 22 Python
详解python itertools功能
Feb 07 Python
详解pandas中iloc, loc和ix的区别和联系
Mar 09 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
Apr 07 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
详解KMP算法以及python如何实现
Sep 18 Python
python通过cython加密代码
Dec 11 Python
python中@contextmanager实例用法
Feb 07 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
Mar 03 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写出自己的BLOG系统
2010/04/12 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python从入门到精通(DAY 1)
2015/12/20 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
python3排序的实例方法
2020/10/20 Python
python 基于wx实现音乐播放
2020/11/24 Python
Python运算符+与+=的方法实例
2021/02/18 Python
函授毕业生自我鉴定
2013/11/06 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
小学教师寄语大全
2014/04/03 职场文书
出国留学担保书
2014/05/20 职场文书
授权委托书(完整版)
2014/09/10 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
小学四年级作文之写景
2019/08/23 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏