通过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/

10-12 22:20