国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

python shell根據ip獲取主機名代碼示例

2024-09-09 19:02:15
字體:
來源:轉載
供稿:網友

這篇文章里我們主要分享了python中shell 根據 ip 獲取 hostname 或根據 hostname 獲取 ip的代碼,具體介紹如下。

筆者有時候需要根據hostname獲取ip
比如根據machine.company.com 獲得ip 10.173.14.117

方法1:利用 socket 模塊 里的 gethostbyname 函數

代碼如下,使用socket模塊

>>> import socket>>> socket.gethostbyname("www.baidu.com")'61.135.169.125'>>> socket.gethostbyname("rs.xidian.edu.cn")'202.117.119.1'

方法2 利用 shell 中 hostname 命令

疑惑:

有時候socket不太穩定,有時候無法獲取到 ip 具體原因帶查明。
筆者自己想的一個方法,不是很優雅,比較繁瑣,不過倒是很健壯。

主要思想是在另一臺機器上把 hostname 信息寫到文件里,然后把文件拷到本機器上,讀取文件里的 hostname 信息。

利用 plink 在遠程ip機器上執行hostname > %s.hostname命令, 將hostname 信息輸出到文件
然后利用本地的 pscp 將遠程機器上帶有hostname的文本文件/root/%s.hostname 復制到本地
利用 python 的文本讀取功能讀取信息, 從中取出hostname字符串
收尾工作:利用 rm 命令把遠程機器和本地的文本文件都刪除

代碼如下:

def getHostName(ip):  command = 'java -jar %s %s "hostname > %s.hostname"' %(remoteCmdLoca,ip,ip)  result = subprocess.call(command, shell=True)  command = '%s -q -r -pw passwd %s root@%s:/root' % (pscpLoca, pscpLoca, ip)  result = subprocess.call(command, shell=True)  command = '%s -q -r -pw passwd root@%s:/root/%s.hostname %s' %(pscpLoca,ip,ip,fileDir)  result = subprocess.call(command, shell=True)  fileName = fileDir + ip + '.hostname'  readFile = open(fileName,'r')  hostnameInfo = str(readFile.readline().strip('/n'))  readFile.close()  subprocess.call('rm '+ fileName, shell=True)  print "=========%s hostname is %s========" %(ip,hostnameInfo)  return hostnameInfo

下面分享一則簡單的windows下python 獲取主機名的代碼示例,我是win10系統,待會可以試試:

環境:windows10 64位 + python2.7

代碼如下:

import sockethostName = socket.gethostname()

運行結果如下:

>> import socket>>> hostName = socket.gethostname()>>> print hostNameLAPTOP-H7MGGAAT

總結

以上就是本文關于python shell根據ip獲取主機名代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:

python自動裁剪圖像代碼分享

Python算法之圖的遍歷

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邳州市| 新闻| 阜新市| 张家川| 红原县| 庄河市| 永丰县| 肥东县| 武强县| 麻江县| 颍上县| 滨州市| 江孜县| 利辛县| 临夏县| 涡阳县| 双柏县| 德惠市| 石景山区| 老河口市| 石林| 福清市| 新干县| 昌都县| 阳朔县| 德阳市| 七台河市| 长泰县| 枝江市| 武义县| 佛冈县| 西丰县| 梅河口市| 苏尼特左旗| 同仁县| 嘉定区| 溧水县| 洞头县| 平阳县| 策勒县| 宣威市|