为什么这两个命令给出不同的输出?

时间:2016-11-08 13:18:15

标签: python escaping subprocess

命令1:

subprocess.call(["echo","\"hw\""])

输出:

"hw"

Command2:

subprocess.call(["echo","""hw"""])

输出:

hw

1 个答案:

答案 0 :(得分:3)

您的第一个命令将引号传递给echo系统命令,因此等同于在命令行上执行此操作:

$ echo "hw"

您的第二个命令只将hw字符串(无引号)传递给echo,并且等效于以下内容:

$ echo hw

在第二个命令中,您对字符串使用 docstring 表示法,相当于"hw"以及'hw'