我一直在搜索互聯網尋找答案。請不要我的python編碼技能不是很好。我想創建一個命令行腳本,它將從這樣的命令行輸入:Python - 如何從命令行輸入並將其輸入到socket.gethostbyaddr(「」)
$python GetHostID.py serverName.com
的最後一部分,我想傳遞一個變量socket.gethostbyaddr(「」)是什麼模塊。這是我迄今爲止的代碼。有人可以幫我弄清楚如何把這個變量放到(「」)中。我認爲使用一個簡單的變量名會產生問題,因爲它試圖把它當作一個字符串來處理變量名。 這裏是我在我的腳本代碼:
#!/bin/python
#
import sys, os
import optparse
import socket
remoteServer = input("Enter a remote host to scan: ")
remoteServerIP = socket.gethostbyaddr(remoteServer)
socket.gethostbyaddr('remoteServer')[0]
os.getenv('remoteServer')
print (remoteServerIP)
任何幫助將受到歡迎。我一直在絞盡腦汁... 謝謝
爲什麼你認爲你需要把'remoteServer'放在引號中? – zwol
當我做出來的報價似乎錯誤了。文件「C:\ Bin \ Scripts \ PyTools \ tiniGetHost.py」,第10行,在 socket.gethostbyaddr('remoteServer')[0] socket.gaierror:[Errno 11004] getaddrinfo失敗 –
betzelel
我刪除了引號,它在python shell中運行成功,但是當我在bash shell下運行它時,它似乎沒有注意到我添加了服務器名稱,然後出錯......➤python tiniGetHost.py serverName 輸入要掃描的遠程主機:serverName#必須採用真實姓名發佈....# 回溯(最近呼叫最後): 文件「tiniGetHost.py」,第8行,在 remoteServer = input(「輸入要掃描的遠程主機: 「) 文件」「,第1行,在 N ameError:名稱'serv'沒有定義 –
betzelel