功能:打印主机名和主机IP:
[[email protected] 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)
运行结果:
[[email protected] python]# ./socket1.py
hostname:iZ94gh8l046Z
IP address: 10.170.16.67
模块:
import socket
使用方法:
socket.gethostname获取hostname(/etc/hostname)
socket.gethostbyname获取主机IP
改进之后:
[[email protected] 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()
运行结果:
[[email protected] python]# ./socket2.py
hostname:iZ94gh8l046Z
IP address: 10.170.16.67
说明:我们要在常用的__main__代码块中调用这个函数。
运行时,Python会为某些内部变量赋值,例如__name__。在这里,__name__表示调用程序的进程名。
如果在命令中运行脚本,__name__的值是__main__
但是,如果在其他脚本中导入,情况就不同了。
也就是说,如果在命令行中调用这个模块,会自动运行print_machine_info()函数
如果在其他脚本中导入,用户就要手动调用这个函数。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-09 04:03:53