1、源码如下:
import argparse
def main():
#all_info :接收所有传入的信息
all_info = argparse.ArgumentParser(description="设置测试参数")
all_info.add_argument('-host', '--host', required=True)
all_info.add_argument('-p', '--port', required=True)
all_info.add_argument('-t', '--time', required=True)
all = all_info.parse_args()
print("传入的所有信息(命名空间)如下:", all)
##下面开始拆分信息,all.xxx中,xxx为上面定义的--后面的字符串
host = all.host
port = all.port
time = all.time
print("主机地址:[%s]\n主机端口:[%s]\n超时时间:[%s]\n" %(host, port, time))
if __name__ == '__main__':
main()
运行结果如下:
此时,在这一段是固定的写好了,不方便扩展
all_info.add_argument('-host', '--host', required=True)
all_info.add_argument('-p', '--port', required=True)
all_info.add_argument('-t', '--time', required=True)
所以,代码改造如下:
import argparse
def main():
#all_info :接收所有传入的信息
all_info = argparse.ArgumentParser(description="设置测试参数")
data = {'-host': '--host', '-p': '--port', '-t': '--time', '-f': '--file'}
for i in data:
parameter = i
parameters = data.get(i)
all_info.add_argument(parameter, parameters, required=True)
all = all_info.parse_args()
print("传入的所有信息(命名空间)如下:", all)
##下面开始拆分信息,all.xxx中,xxx为上面定义的--后面的字符串
host = all.host
port = all.port
time = all.time
file = all.file
print("文件选择:[%s]\n主机地址:[%s]\n主机端口:[%s]\n超时时间:[%s]\n" %(file, host, port, time))
if __name__ == '__main__':
main()
执行命令如下:
python telnets.py -host localhost -p 80 -t 20 -f list.txt
执行结果如下:
所以,这时候只需要在字典上增加对应的菜单即可,不需要独立使用菜单添加的独立代码
本文来自博客园,作者:坐公交也用券,转载请注明原文链接:https://www.cnblogs.com/liumou-site/p/17105993.html