首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串的内引号在作为参数传递时被删除

字符串的内引号在作为参数传递时被删除
EN

Stack Overflow用户
提问于 2019-04-26 05:21:37
回答 1查看 322关注 0票数 1

我目前有一个带有多个参数的python脚本,其中一个恰好是一个带三重引号的字符串,传递给脚本的方式如下:

代码语言:javascript
复制
Script.py --FunctionArgs '"osPlatform='SUSE',osVersion=11"'

正如您所看到的,有外部的单引号,内部的双引号和另外的一对单引号。在脚本中使用这些内部的单引号是至关重要的,但是当我打印sys.args时,我会得到以下结果:

代码语言:javascript
复制
(FunctionArgs='"osPlatform=SUSE,osVersion=11"')

如你所见,里面的引号被去掉了。由于脚本运行方式的本质,我无法对参数的奇怪的三引号格式做任何事情。有没有什么方法可以让我的Python脚本不从参数中去掉这些内部引号?

FunctionArgs参数没有外单引号时(我对此无能为力),它工作得很好,内单引号被保留:

代码语言:javascript
复制
Script.py --FunctionArgs "osPlatform='SUSE',osVersion=11"

结果:

代码语言:javascript
复制
(FunctionArgs="osPlatform='SUSE',osVersion=11")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-26 05:35:13

SUSE两边的引号与分隔参数的引号相匹配。shell在其命令行解析过程中删除它们。

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

代码语言:javascript
复制
Script.py --FunctionArgs "\"osPlatform='SUSE',osVersion=11\""
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55857814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档