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

作者:雪峰流云 时间:2023-02-18 05:56:15 

下面介绍在Linux上利用python获取本机ip的方法.

经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码:


#!/usr/bin/env python
#encoding: utf-8
#description: get local ip address

import os
import socket, fcntl, struct

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()
print out

#另一种方法, 只需要指定网卡接口, 我更倾向于这个方法
def get_ip2(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15]))[20:24])

if __name__ == '__main__':
get_ip()
print get_ip2('eth0')
print get_ip2('lo')

下面是运行截图

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

参考文献

[1].http://bbs.csdn.net/topics/190130360

来源:https://blog.csdn.net/tao_627/article/details/49967185

标签:python,本机,ip
0
投稿

猜你喜欢

  • 教你怎么用Python实现多路径迷宫

    2022-03-11 15:07:52
  • JavaScript中的ArrayBuffer详细介绍

    2024-04-19 11:02:13
  • Python3.9.1中使用match方法详解

    2023-09-14 09:51:21
  • Pytorch maxpool的ceil_mode用法

    2023-03-20 13:28:05
  • 如何在ADO服务器端利用好缓存技术?

    2010-06-17 12:49:00
  • 深入分析javascript中console命令

    2024-06-05 09:34:26
  • 解决PyCharm 中写 Turtle代码没提示以及标黄的问题

    2023-05-12 09:08:30
  • 微信小程序实现多文件或者图片上传

    2024-04-29 14:06:10
  • Python绘制词云图之可视化神器pyecharts的方法

    2022-12-08 14:38:44
  • Python shapefile转GeoJson的2种方式实例

    2023-02-20 01:07:52
  • 实现Python3数组旋转的3种算法实例

    2021-11-12 04:23:10
  • python机器学习之随机森林(七)

    2023-10-20 00:25:13
  • PHP程序员玩转Linux系列 备份还原MySQL

    2023-11-15 07:39:28
  • python密码学简单替代密码解密及测试教程

    2023-09-30 08:13:00
  • 在程序中压缩sql server2000的数据库备份文件的代码

    2024-01-23 23:01:35
  • 解读golang plugin热更新尝试

    2024-05-22 10:09:28
  • python中的测试框架

    2023-02-16 03:59:08
  • MSSQL2005在networkservice权限运行附加数据库报(Microsoft SQL Server,错误: 5120)

    2024-01-23 00:09:51
  • python MultipartEncoder传输zip文件实例

    2022-04-20 07:22:57
  • php网络安全中命令执行漏洞的产生及本质探究

    2023-05-30 05:34:31
  • asp之家 网络编程 m.aspxhome.com