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 相关文章推荐
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
python改变日志(logging)存放位置的示例
Mar 27 Python
python实现一组典型数据格式转换
Dec 15 Python
Python实现Event回调机制的方法
Feb 13 Python
在django模板中实现超链接配置
Aug 21 Python
浅析Python语言自带的数据结构有哪些
Aug 27 Python
python构造函数init实例方法解析
Jan 19 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
python 的numpy库中的mean()函数用法介绍
Mar 03 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 Python
python 模拟登录B站的示例代码
Dec 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
详解JS模块导入导出
2017/12/20 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
python读取和保存视频文件
2018/04/16 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
美国宠物商店:Wag.com
2016/10/25 全球购物
LINUX下线程,GDI类的解释
2012/04/17 面试题
个人简历中的自我评价范例
2013/10/29 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
先进事迹材料范文
2014/12/29 职场文书
通知的写法
2015/04/23 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
单位证明范文
2015/06/18 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers