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)。