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的gevent框架下执行异步的Solr查询的教程
Apr 16 Python
在Django的session中使用User对象的方法
Jul 23 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Python实现控制台中的进度条功能代码
Dec 22 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
python多行字符串拼接使用小括号的方法
Mar 19 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
利用nohup来开启python文件的方法
Jan 14 Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 Python
python实现七段数码管和倒计时效果
Nov 23 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 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 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php日历制作代码分享
2014/01/20 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
js判断变量是否空值的代码
2008/10/26 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
javascript测试题练习代码
2012/10/10 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
js实现表格筛选功能
2017/01/18 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
python 发送json数据操作实例分析
2019/10/15 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
python ftplib模块使用代码实例
2019/12/31 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
Python代码需要缩进吗
2020/07/01 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
竞职演讲稿范文
2014/01/11 职场文书
政工师工作总结2015
2015/05/26 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
医院中层管理人员培训心得体会
2016/01/11 职场文书