我一直在搜索互联网寻找答案。请不要我的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