计算机名称 null,获取设备的主机名和ip地址

Python的socket模块提供了类的方法和实例方法,二者区别在于使用类方法时不需要创建套接字对象实例。比如,以下例子利用此模块获取主机名和ip地址。

源代码如下#!/usr/bin/env python

#This program is optimized for python 2.7 .It may run on any

#other python version with/without modifications.

#Failname:local_machine_info.py

import socket

def print_machine_info():

host_name=socket.gethostname()

ip_address=socket.gethostbyname(host_name)

print "Host name : %s" %host_name

print "IP address: %s" %ip_address

if __name__=='__main__':

print_machine_info()

执行结果:

fc08836623ffa1966b5de87ae51a2b52.png

原理分析:

本例程调用了socket中的两个工具函数gethostname()和gethostbyname()。可以使用help()函数查看帮助信息。

68869f21493e41b50503c0c39f6f63ee.png

92d1231404da91ae94a224ccf79625af.png

c3dc44c36bac5a270ef6f6721d500ea7.png

获取远程设备的IP地址

使用内置的库函数gethostbyname()可以获取远程设备的ip地址,函数的参数为目标主机的主机名。

以远程主机名为www.51cto.com为例,代码如下:#!/usr/bin/env python

#This program is optimized for python 2.7

#It may run on any other version with/without modifications

#Filename:remote_machine_info.py

import socket

def get_remote_matchine_info():

remote_host='www.51cto.com'

try:

print " remote_host is:%s"%remote_host

print "IP address:%s"%socket.gethostbyname(remote_host)

except socket.error,err_msg:

print "%s:%s"%(remote_host,err_msg)

if __name__=='__main__':

get_remote_matchine_info()

执行结果:

d7e812705c20399d88910946a675dfc4.png

原理分析:

本例将主要的函数调用放在了try-except块中,如果gethostbyname()函数执行的过程中发送了错误,这个错误将由try-except块处理,提示错误信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值