龙空技术网

Python-for与字典的配合,灵活对传参进行修改

坐公交也用券 76

前言:

此时你们对“forin字典python”大致比较着重,你们都想要了解一些“forin字典python”的相关知识。那么小编同时在网摘上汇集了一些对于“forin字典python””的相关资讯,希望看官们能喜欢,大家快快来学习一下吧!

最近在写一个脚本的时候,想添加一个传参使脚本更易用,然后初步的源码对于每个参数都由一行代码进行生成,考虑到后期可能会增加更多的参数,所以需要对现在的代码进行改造,现有代码如下:

import argparsedef 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)

所以这时候就通过字典+for的方式对代码进行重构,重构如下:

import argparsedef 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教程可以在今日头条关注我,或者去csdn搜索“坐公交也用券”

标签: #forin字典python