gpt4 book ai didi

linux - 作为参数传递时删除字符串的内部引号

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:18 25 4
gpt4 key购买 nike

我目前有一个带有多个参数的 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")

最佳答案

SUSE 周围的引号与分隔参数的引号匹配。 Shell 在其命令行解析期间删除它们。

您可以将整个参数放在双引号中,并对嵌入的双引号进行转义。

Script.py --FunctionArgs "\"osPlatform='SUSE',osVersion=11\""

关于linux - 作为参数传递时删除字符串的内部引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55857814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com