带引号的Python argparse参数

den*_*aar 8 python optparse argparse

有什么办法可以告诉argparse不要吃引号吗?

例如,当我用引号给出一个参数时,argparse只将引号内的内容作为参数.我也想捕获引号(不必在命令行上转义它们.)

pbsnodes -x | xmlparse -t "interactive-00"
Run Code Online (Sandbox Code Playgroud)

产生

interactive-00
Run Code Online (Sandbox Code Playgroud)

我想要

"interactive-00"
Run Code Online (Sandbox Code Playgroud)

wim*_*wim 14

我认为它是吃它们的shell,所以python实际上永远不会看到它们.在命令行中转义它们可能是您唯一的选择.

如果这是\"backslash\"因为某种原因你不喜欢的风格,那么这种方式应该起作用:

pbsnodes -x | xmlparse -t '"interactive-00"'
Run Code Online (Sandbox Code Playgroud)

  • 情况确实如此.shell将引号视为"即使它包含空格也可以在这里取任何东西." 它就这样做了.这就是shell中引用*为*的内容. (2认同)