我目前有一个带有多个参数的python脚本,其中一个恰好是一个带三重引号的字符串,传递给脚本的方式如下:
Script.py --FunctionArgs '"osPlatform='SUSE',osVersion=11"'正如您所看到的,有外部的单引号,内部的双引号和另外的一对单引号。在脚本中使用这些内部的单引号是至关重要的,但是当我打印sys.args时,我会得到以下结果:
(FunctionArgs='"osPlatform=SUSE,osVersion=11"')如你所见,里面的引号被去掉了。由于脚本运行方式的本质,我无法对参数的奇怪的三引号格式做任何事情。有没有什么方法可以让我的Python脚本不从参数中去掉这些内部引号?
当FunctionArgs参数没有外单引号时(我对此无能为力),它工作得很好,内单引号被保留:
Script.py --FunctionArgs "osPlatform='SUSE',osVersion=11"结果:
(FunctionArgs="osPlatform='SUSE',osVersion=11")发布于 2019-04-26 05:35:13
SUSE两边的引号与分隔参数的引号相匹配。shell在其命令行解析过程中删除它们。
您可以将整个参数放在双引号中,并转义嵌入的双引号。
Script.py --FunctionArgs "\"osPlatform='SUSE',osVersion=11\""https://stackoverflow.com/questions/55857814
复制相似问题