Python中如何将带双引号的内容作为参数传入ID字段
问题根因
- 你手动赋值
"ID": "FPOD"时,ID字段的实际值为无额外包裹的FPOD,你当前代码手动拼接了双引号,实际值变为被双引号包裹的"FPOD",与预期值不符,因此运行失败。
解决方案
场景1:ID字段要求值为纯字符串(无额外双引号)
直接传入sys.argv[1]的字符串格式即可,无需额外拼接双引号:
"ExtractionRequest": { "@odata.type": "#TRP.ExtractionRequests", "IList": { "@odata.type": "#TRP.Extractions.ExtractionRequests.IList", "IDList": [{ "ID": str(sys.argv[1]), "IDType": "TK" }] }
运行时直接传入参数即可,比如python your_script.py FPOD
场景2:ID字段要求值本身必须包含双引号
用json.dumps自动处理字符串转义和双引号包裹,避免手动拼接的转义错误:
import json import sys # 后续字典部分写法 "ExtractionRequest": { "@odata.type": "#TRP.ExtractionRequests", "IList": { "@odata.type": "#TRP.Extractions.ExtractionRequests.IList", "IDList": [{ "ID": json.dumps(sys.argv[1]), "IDType": "TK" }] }
验证方法
赋值完成后打印ID值,和手动赋值的结果对比即可确认是否符合预期:print(IDList[0]["ID"])
内容的提问来源于stack exchange,提问作者Marcus
相关产品推荐
相关产品推荐

