Python Network Programming(1)---设备名与IPv4地址

来源:互联网 发布:小猫淘宝客 编辑:程序博客网 时间:2024/05/16 11:27
  • 版本:python 2.7.6
  • 获取设备名的函数为gethostname()
  • 获取IP地址的函数为gethostbyname(host)

Key point

这两个函数在socket模块中。socket模块提供了类方法和实例方法。这两个函数属于类方法。

编写独立的print_machine_info()函数

__author__ = 'liyuan35023'# !/home/mimiasd/PycharmProjects/workspace python27import socketdef print_machine_info():    host_name = socket.gethostname()    ip_address = socket.gethostbyname(host_name)    print "Host name : %s"% host_name    print "IP address : %s"% ip_addressif __name__ == '__main__':    print_machine_info()

我们要在常用的main代码块中调用print_machine_info()函数。运行时,Python会为某些内部变量赋值,例如name。如果在命令行中运行脚本,name变量的值是main,即可以直接运行此函数。如果在其他脚本中调用,就需要先在其他脚本中导入,再手动调用此函数。

获取远程设备的IP地址

如果想知道远程设备的IP地址,可以使用内置的库函数gethostbyname(),其参数是远程设备的主机名。

import socketimport loggingdef get_remote_machine_info():    remote_host = 'www.pytgo.org'    try:        #print "IP address :%s" %socket.gethostbyname(remote_host)        print_IP(remote_host)    except BaseException, err_msg:        print "%s: %s" %(remote_host,err_msg)        logging.exception(err_msg)def print_IP(host_name):    print "IP address :%s" %socket.gethostbyname(host_name)if __name__ == '__main__':    get_remote_machine_info()
0 0
原创粉丝点击