我需要传递一个简短的JSON片段作为我的程序的参数:
python3 myscript.py --json '{"TP":"COR10","PR":55,"TM":607781280,"RP":[{"AMM":21.31,"IVA":22.00,"IMP":4.69}]}'
这似乎从命令行工作,但如果逐字插入Edit Configurations
- > Parameters
引号保留:
b"'{TP:COR10,PR:55,TM:607781280,RP:[{AMM:21.31,IVA:22.00,IMP:4.69}]}'"
我可以理解它保留了最外面的单引号,因为没有shell
来解析参数,但为什么它删除双引号?
为了获得理想的结果,我需要省略一些单引号并引用每个“奇怪”的字符(包括空格,不在示例中),如:
--json {\"TP\":\"COR10\",\"PR\":55,\"TM\":607781280,\"RP\":[{\"AMM\":21.31,\"IVA\":22.00,\"IMP\":4.69}]}
至少可以说这看起来很尴尬。有什么捷径我不知道吗?
你尝试过像第二个例子那样但使用单引号?
- 这是'坚韧':'核心10','开':55,'tam':607781280,'强奸':[['Amm':21.31,'和':22.00,'Imp':4.69}]}
解析器的形式相同