返回列表 发帖

Python3获取主机名和IP地址

Windows获取本机的主机名和IP地址:

脚本内容:
#coding=utf-8

import socket,uuid #这些模块是内置的,不用额外安装

hostname_1 = socket.gethostname() #获取本机的主机名

ip_1 = socket.gethostbyname(hostname_1) #获取本机的IP地址

def func1(): #获取本机的Mac地址
        mac = uuid.UUID(int = uuid.getnode()).hex[-12:]
        return ":".join([mac[e:e+2] for e in range(0,11,2)])

if __name__ == '__main__':

        print("本机的主机名:",hostname_1)
        print("本机的IP地址:",ip_1)
       
        Result_1 = func1()
        print("本机的Mac地址:",Result_1)


脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
本机的主机名: jacky-PC
本机的IP地址: 192.168.168.128
本机的Mac地址: 00:0c:29:76:23:69

C:\Users\jacky\Desktop>





############
############

Linux获取本机的主机名和IP地址:


操作系统的版本信息:
[root@centos6 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@centos6 ~]#
[root@centos6 ~]# uname -r
2.6.32-696.el6.x86_64


脚本内容:
#coding=utf-8

import uuid,os #这些模块是内置的,不用额外安装

#调用Linux命令,获取本机的主机名:
hostname_1 = os.popen("hostname").read() #返回的字符串的右边会多了个换行符
hostname_2 = hostname_1.rstrip('\n') #去除字符串右边的换行符

#调用Linux命令,获取本机的IP地址:
String_1 = "ifconfig | grep 'Bcast' |awk '{print $2}' |awk -F: '{print $2}'"
ip_1 = os.popen(String_1).read() #返回的字符串的右边会多了个换行符
ip_2 = ip_1.strip('\n') #去除字符串左边和右边的换行符

def func1(): #获取本机的Mac地址
        mac = uuid.UUID(int = uuid.getnode()).hex[-12:]
        return ":".join([mac[e:e+2] for e in range(0,11,2)])

if __name__ == '__main__':
        print(f"本机的主机名:{hostname_2}")
        print(f"本机的IP地址:{ip_2}")
        print(f"本机的Mac地址:{func1()}")
       

脚本运行的结果:
[root@centos6 ~]# python3 xx.py
本机的主机名:centos6.zhuohua.store
本机的IP地址:192.168.168.130
本机的Mac地址:00:0c:29:2b:17:3a
[root@centos6 ~]#





相关文章:
字符串的截取
range()函数

Python3调用Linux命令
CentOS8使用Socket(检测TCP端口)

返回列表