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