Python网络编程 ---Socket模块学习之获取主机名和IP(-)

1、直接在python解释器中实现:

>>>import socket

然后,调用Socket库提供的gethostname()方法,结果用变量保存:

  >>>host_name=socket.gethostname()
  >>>print "主机名:%s" %host_name
主机名:ubuntu
>>>print "IP 地址:%s" %socket.gethostbyname(host_name)
IP 地址: 127.0.0.1

2、定义成独立函数,形成脚本文件执行:

通常用__main__代表代码块中调用这个函数,运行时,Python会为某些内部变量赋值,例如__name__,这里__name__表示调用程序的进程名。脚本中,__name__的值时__main__ 。就是说命令行调用这个模块,会自动执行print_machine_Info()函数,但在其他模块中,需要手动调用该模块。新建文件名PrintMachineInfo.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()

如果要运行该脚本,在终端输入:

$ python PrintMachineInfo.py

各人设备不同,主机名则不同,我的设备显示:

主机名: ubuntu
IP 地址:127.0.0.1

3、原理分析:

import socket 语句导入python提供的一个核心网络库,然后调用两个工具函数gethostname()和gethostbyname(host_name)。






猜你喜欢

转载自blog.csdn.net/qq_21419015/article/details/79813632