【发布时间】:2012-11-08 17:24:03
【问题描述】:
如何将命令行参数列表(如argv)转换为单个命令行字符串?
" ".join(argv) 不是正确的解决方案,因为它不会正确地转义带有空格的字符串。
示例:./test.py -v --simulate --action removePage --title "AAA BBB"
如果你尝试这个,最后一个参数是 AAA BBB 不带引号,但如果我尝试使用 join 重建命令行,我会得到错误的结果。
注意:我知道我可以将命令行作为字符串获取,但就我而言,我不能依赖它,我需要一个将参数列表转换为正确命令行的解决方案。
【问题讨论】:
-
所以你想要
shlex.split的倒数? -
你想对你正在构建的字符串做什么?
-
注意:'argv' 不会解压缩参数 - 它是 '' 执行此操作。所以你可以做 *a、*aa、*hello 等。