python获取linux本机IP

 1 #!/usr/bin/env python
 2 #encoding: utf-8
 3 #description: get local ip address
 4
 5 import os
 6 import socket, fcntl, struct
 7
 8 def get_ip():
 9     #注意外围使用双引号而非单引号,并且假设默认是第一个网卡,特殊环境请适当修改代码
10     out = os.popen("ifconfig | grep ‘inet addr:‘ | grep -v ‘127.0.0.1‘ | cut -d: -f2 | awk ‘{print $1}‘ | head -1").read()
11     print out
12
13 #另一种方法, 只需要指定网卡接口, 我更倾向于这个方法
14 def get_ip2(ifname):
15     s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
16     return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x8915, struct.pack(‘256s‘, ifname[:15]))[20:24])
17
18 if __name__ == ‘__main__‘:
19     get_ip()
20     print get_ip2(‘eth0‘)
21     print get_ip2(‘lo‘)  
时间: 2024-10-09 21:55:19

python获取linux本机IP的相关文章

使用 python 获取 Linux 的 IP 信息(通过 ifconfig 命令)

我们可以使用 python 代码通过调用 ifconfig 命令来获取 Linux 主机的 IP 相关信息,包括:网卡名称.MAC地址.IP地址等. 第一种实现方式: 1 #!/usr/bin/python 2 #encoding: utf-8 3 4 from subprocess import Popen, PIPE 5 6 def getIfconfig(): 7 p = Popen(['ifconfig'], stdout = PIPE) 8 data = p.stdout.read()

Linux 项目 shell 自动获取报告本机IP (1) | 通过shell 自动获取报告本机IP

由于电脑设置静态IP经常出现链接不上网络,动态IP又非常不方便,故有了这个想法并实现 原理: Linux,包含PC机器,树莓派等,通过shell 自动获取报告本机IP  | 通过 Mutt+Msmtp邮箱发送 此次使用树莓派3B实现步骤: 1.安装mutt 和 Msmtp $ sudo apt -get install mutt //安装mutt,其他系统使用相应包管理 $ sudo apt-get install msmtp //安装msmtp,其他系统使用相应包管理 2.在/etc/Mutt

获取linux内核所有ip

获取linux内核所有ip(C语言) 经常遇到获取接口ip.记录一下,方便后续使用. #include <net/if.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h

Python获取Linux或Windows系统的基本信息

前段时间写了一篇博文名为<利用Python脚本获取Windows和Linux的系统版本信息>,本篇博文利用这篇文章中的知识提供一个增强版本的获取信息的Python脚本.执行后,看起来就像登录Ubuntu Linux系统时提示的motd信息一样,可以看到: 系统的类型.发行版本(具体信息).内核版本等 当前系统的时间.时区 系统每一个CPU核心的负载和CPU整体负载 进程数量 根分区的磁盘空间,Windows下默认C盘 登录的用户总数和每一个登录到系统的用户的信息 内存和交换分区的利用率 默认网

Python获取本机外网IP

1. 打开https://www.baidu.com/ 2. 输入ip, 进行搜索, 获取url http://cn.bing.com/search?q=ip&go=%E6%8F%90%E4%BA%A4&qs=n&form=QBLH&pq=ip&sc=8-2&sp=-1&sk=&cvid=14b93b305cdc4183875411c3d9edf938 3. 查找url返回结果 编写python匹配正则表达式 4. Python完整代码 1

python获取Linux信息

刚开始学习Python,用Python写了一个获取Linux服务器信息的脚本,在debian和centos上测试通过.首先需要安装一个psutil库,在安装psutil之前需要安装python的开发工具包 #debian  apt-get install python-dev #centos  yum install python-devel psutil下载页面 https://pypi.python.org/pypi?:action=display&name=psutil#downloads

用Python获取Linux资源信息的三种方法

方法一:psutil模块 #!usr/bin/env python # -*- coding: utf-8 -*- import socket import psutil class NodeResource(object): def get_host_info(self): host_name = socket.gethostname() return {'host_name':host_name} def get_cpu_state(self): cpu_count = psutil.cpu

使用 Python 获取 Linux 系统信息

探索platform模块 platform模块在标准库中,它有很多运行我们获得众多系统信息的函数.让我们运行Python解释器来探索它们中的一些函数,那就从platform.uname()函数开始吧: >>> import platform>>> platform.uname()('Linux', 'fedora.echorand', '3.7.4-204.fc18.x86_64', '#1 SMP Wed Jan 23 16:44:29 UTC 2013', 'x86

使用 python 获取 Linux 系统信息(通过dmidecode命令)

通过 dmidecode 命令可以获取到 Linux 系统的包括 BIOS. CPU.内存等系统的硬件信息,这里使用 python 代码来通过调用 dmidecode 命令来获取 Linux 必要的系统信息,更多的信息都可以通过这种方式去获取. 方式1: 1 #!/usr/bin/python 2 #encoding: utf-8 3 4 from subprocess import Popen, PIPE 5 6 p = Popen(['dmidecode'], stdout = PIPE)