通过ansibe使用python,我从DNS收集了一个包含7000个主机名的列表,但是我想提示用户输入一个主机名,作为回报,主机名将出现(如果存在)。
但可以选择是查看整个列表还是只查看一个指定的主机名。
脚本在xshell 5中执行。
你知道我该怎么做吗?
最佳答案
一种方法是使用input
(python3)(或raw_input
(python2))或将hostname指定为脚本的参数。您可以通过不指定任何主机名从所有服务器获取输出。
假设您的主机名在python列表中:dnshostnames
:
hostname = input("specify hostname (blank for all)").strip()
if hostname:
if hostname in dnshostnames:
print("{} in host name list".format(hostname))
else:
print("Hostnames:\n\n","\n".join(dnshostnames)
或作为脚本的参数:
import sys
if len(sys.argv<1):
#assuming hostname has no whitespace in name
if sys.argv[1] in dnshostnames:
print("{} in host name list".format(hostname))
else:
print("Hostnames:\n\n","\n".join(dnshostnames)
然后称为
input
关于python - 如何提示用户输入主机名,然后从大列表中收集主机名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38218472/