我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python获取linux主机ip的简单实现方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python获取linux主机ip的简单实现方法

本文实例讲述了Python获取linux主机ip的简单实现方法。分享给大家供大家参考,具体如下:

python有好几种方法可以获取主机的ip地址。我常用的一种是通过socket.socket().inet_ntoa()来实现,非常方便;但这种方法有个限制就是要把网卡名(比如eth0)作为参数传进来。所以加多了一个条件判断,如果发现以上方法获取ip抛异常时,那就用调起shell命令(ifconfig)和管道,把想要的ip给过滤出来。


import socket
import fcntl
import struct
"""
获取主机ip地址
参数ifname: 通过'lo'获取的为环回地址, 通过'eth0'获取的为主机ip地址
"""
def get_ip_address(ifname='eth0'):
  try:
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
      s.fileno(),
      0x8915, # SIOCGIFADDR
      struct.pack('256s', ifname[:15])
    )[20:24])
  except:
    ips = os.popen("LANG=C ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk -F ":" '{print $2}' | awk '{print $1}'").readlines()
    if len(ips) > 0:
      return ips[0]
  return ''

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python获取linux主机ip的简单实现方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python获取linux主机ip的简单实现方法

本文实例讲述了Python获取linux主机ip的简单实现方法。分享给大家供大家参考,具体如下: python有好几种方法可以获取主机的ip地址。我常用的一种是通过socket.socket().inet_ntoa()来实现,非常方便;但这
2022-06-04

Python简单获取自身外网IP的方法

本文实例讲述了Python简单获取自身外网IP的方法。分享给大家供大家参考,具体如下:#encoding=utf-8 #author: walker #date: 2016-03-07 #function: 获取自己的外网IP import
2022-06-04

Linux修改主机名的简单方法

1.查看当前的主机名[root@fangjian ~]# hostnamectlStatic hostname: bracePretty hostname: BraceIcon name: computer-vmChassis: v
2022-06-04

Linux下通过python获取本机ip方法示例

下面介绍在linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码:#!/usr/bin/env pyth
2022-06-04

Android 获取IP地址的实现方法

Android 获取IP地址 最近做项目,有一个需求是Android设备获取当前IP的功能,经过一番查询资料解决了,记录下实现方法。 1.使用WIFI 首先设置用户权限2022-06-06

Android获取本机电话号码的简单方法

如何在Android上获取本机电话号码,目前Android上提供了一个API可以读取早期SIM卡上固化的号码, 代码如下:private String getPhoneNumber(){ TelephonyManager mT
2022-06-06

Python实现获取内网IP地址的方法总结

这篇文章主要为大家详细介绍了五种利用Python语言实现获取内网IP地址的方法,文中的示例代码讲解详细,具有一定的参考价值,需要的可以了解一下
2023-03-24

python获取list下标及其值的简单方法

当在python中遍历一个序列时,我们通常采用如下的方法: for item in sequence:process(item)如果要取到某个item的位置,可以这样写:for index in range(len(sequence)):p
2022-06-04

Python按行读取文件的简单实现方法

1:readline()file = open("sample.txt") while 1:line = file.readline()if not line:breakpass # do something file.close()一行
2022-06-04

Python获取本机IP地址的方法有哪些

这篇文章主要介绍“Python获取本机IP地址的方法有哪些”,在日常操作中,相信很多人在Python获取本机IP地址的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python获取本机IP地址的方法
2023-06-29

Python简单实现enum功能的方法

本文实例讲述了Python简单实现enum功能的方法。分享给大家供大家参考,具体如下:class Enumerate(object):def __init__(self,names):for number,name in enumerate
2022-06-04

Python实现简单字典树的方法

本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下:#coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串。 在此代码基础上扩展一下,就可以实现比较复杂的字典树,比如带统计数的,或
2022-06-04

python实现简单socket通信的方法

本文实例讲述了python实现简单socket通信的方法。分享给大家供大家参考,具体如下: 刚刚开始接触python,实现了一个helloworld程序---关于udp协议的socket通信demo。 首先服务端这边的实现如下:import
2022-06-04

Python实现emoji表情的简单方法

前言 作为一个数据分析师,应该信奉一句话——“一图胜千言”。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!! 表情包不仅仅是一种符号,更是一种文化——是促进社交乃至社会发展的动力之一,就像懒。我们坚持认为,一张优秀
2022-06-02

linux下使用perl获取本机ip的几种方法介绍

在使用 Gearman 做分布式处理时,各机需要注册一个独立的 job 作为信息反馈,为求方便,Gearman::Worker 脚本 register_function 代码又要通用,于是想到了使用各自的 ip 地址作为 job 命名。 那
2022-06-04

android 获取本机的IP地址和mac物理地址的实现方法

获取本机IP地址public String getLocalIpAddress() { WifiManager wifiManager = (WifiManager) getSystemService(android.content.Con
2022-06-06

编程热搜

目录