您好,登錄后才能下訂單哦!
Python的socket模塊提供了類的方法和實例方法,二者區別在于使用類方法時不需要創建套接字對象實例。比如,以下例子利用此模塊獲取主機名和ip地址。
源代碼如下
#!/usr/bin/env python #This program is optimized for python 2.7 .It may run on any #other python version with/without modifications. #Failname:local_machine_info.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()
執行結果:
原理分析:
本例程調用了socket中的兩個工具函數gethostname()和gethostbyname()。可以使用help()函數查看幫助信息。
獲取遠程設備的IP地址
使用內置的庫函數gethostbyname()可以獲取遠程設備的ip地址,函數的參數為目標主機的主機名。
以遠程主機名為www.51cto.com為例,代碼如下:
#!/usr/bin/env python #This program is optimized for python 2.7 #It may run on any other version with/without modifications #Filename:remote_machine_info.py import socket def get_remote_matchine_info(): remote_host='www.51cto.com' try: print " remote_host is:%s"%remote_host print "IP address:%s"%socket.gethostbyname(remote_host) except socket.error,err_msg: print "%s:%s"%(remote_host,err_msg) if __name__=='__main__': get_remote_matchine_info()
執行結果:
原理分析:
本例將主要的函數調用放在了try-except塊中,如果gethostbyname()函數執行的過程中發送了錯誤,這個錯誤將由try-except塊處理,提示錯誤信息。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。