标签:
功能:打印主机名和主机IP:
[root@iZ94gh8l046Z python]# cat socket1.py #!/usr/bin/python import socket host_name = socket.gethostname() print "hostname:%s" % host_name print "IP address: %s" %socket.gethostbyname(host_name)
[root@iZ94gh8l046Z python]# ./socket1.py
hostname:iZ94gh8l046Z
IP address: 10.170.16.67
模块:
import socket
使用方法:
socket.gethostname获取hostname(/etc/hostname)
socket.gethostbyname获取主机IP
改进之后:
[root@iZ94gh8l046Z python]# cat socket2.py #!/usr/bin/python import socket def print_machine_info(): host_name = socket.gethostname() ip_address = socket.gethostbyname(host_name) print "hostname:%s" % host_name print "IP address: %s" %ip_address if __name__ == '__main__': print_machine_info()
运行结果:
[root@iZ94gh8l046Z python]# ./socket2.py
hostname:iZ94gh8l046Z
IP address: 10.170.16.67
运行时,Python会为某些内部变量赋值,例如__name__。在这里,__name__表示调用程序的进程名。
如果在命令中运行脚本,__name__的值是__main__
但是,如果在其他脚本中导入,情况就不同了。
也就是说,如果在命令行中调用这个模块,会自动运行print_machine_info()函数
如果在其他脚本中导入,用户就要手动调用这个函数。
版权声明:本文为博主原创文章,未经博主允许不得转载。
python网络编程:socket,gethostname,gethostbyname
标签:
原文地址:http://blog.csdn.net/xiangpingli/article/details/47265375