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

执行结果如下:
在这里插入图片描述
所以,这时候只需要在字典上增加对应的菜单即可,不需要独立使用菜单添加的独立代码

posted on 2020-11-09 10:42  坐公交也用券  阅读(23)  评论(0编辑  收藏  举报

// 这里是系统默认参数 // 开始添加背景音乐