python 之 sys.argv 外部传参动态匹配内部字典
- 问题
在处理传参的过程中,我每次都是使用固定的字典格式取值,却从来没想过用字符串的方式来获取value,以下是解决办法
eval() 函数用来执行一个字符串表达式,并返回表达式的值。 - 实例方法
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import sys
g1 = {"g1": {
"f1": ["a", "b", "c"],
"f2": ["a1", "b1", "c1"],
}}
g2 = {"g2": {
"f1": ["a8", "b9", "c10"],
"f2": ["a11", "b12", "c13"],
}}
if __name__ == '__main__':
a = sys.argv[1]
b = "%s['%s']" % (a, a)
print(a)
print("a", eval(a))
# eval 字符串转成字典,直接可以获取上面字典里面的数据,完美解决了外部传参进来动态获取字典数据
# 使用异常捕获问题,输入一错误的参数就直接退出,并且打印默认参数
#
效果:
C:\Users\OP\Desktop\python test.py g1
g1
a {'g1': {'f1': ['a', 'b', 'c'], 'f2': ['a1', 'b1', 'c1']}}
C:\Users\OP\Desktop\英迪瑞讯\IVI_WEB\CMDB\tmp>python test.py g2
g2
a {'g2': {'f1': ['a8', 'b9', 'c10'], 'f2': ['a11', 'b12', 'c13']}}
C:\Users\OP\Desktop\tmp>
- 经验来之不易,请大家看完觉得有帮助,请给点推荐
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2019-12-31 python 快速生成项目依赖模块