我正在尝试使用PowerShell运行python脚本。在那个python脚本中,我尝试使用包含双引号和空格的命令行参数,这些参数无法正常工作。我怀疑它是PowerShell的一个问题。
(简化的)python脚本如下所示:
import sys
print(sys.argv[1])
以下调用和输出显示问题
python script.py --arg=foo
--arg=foo
python script.py --arg='\"foo\"'
--arg="foo"
python script.py --arg='\"fo o\"'
--arg="fo
但我最终需要的是
--arg="fo o"
它消除了空白之后的所有东西。我在Linux bash中测试了相同的脚本(在foo周围使用双引号)。这似乎不是一个python问题,而是PowerShell问题,任何人都可以帮助我吗?最后,我想要一个完整的JSON-String作为参数。
答案 0 :(得分:0)
9个月无人接听。当前的解决方法是使用"
转义\"
。
答案 1 :(得分:0)
用'\`'(反斜杠+反引号)转义"
也是可行的(我不能在代码样式标记中包括反引号,因为我不知道如何转义...具有讽刺意味的)。
请注意,带有转义双引号的整个参数也必须封装在双引号中。用单引号引起来是行不通的。