擅长:python、mysql、java
<p>我不知道你想在这里做什么:</p>
<pre><code>"echo' " ""
</code></pre>
<p>……但是Python将如何解释它:</p>
<p>首先,<code>"echo' "</code>是一个6个字符的字符串(单词<code>echo</code>,一个<code>'</code>和一个空格)。那么<code>""</code>是一个空字符串。它们被连接在一起(当然,形成相同的6个字符的字符串)。在</p>
<p>如果要将双引号字符放入双引号字符串中,则必须使用反斜杠对其进行转义,如下所示:</p>
^{pr2}$
<p>然而,有一种更简单的方法来处理这些问题:使用三重引用。大多数人都知道三重引号是处理多行字符串的一种方法,这一点很好,但对于包含两种引号的字符串也很有用:</p>
<pre><code>'''echo' " "'''
</code></pre>
<hr/>
<p>另外,使用一个单一格式的字符串并对其调用<code>format</code>(或者,如果您愿意,可以使用<code>%</code>运算符),而不是一遍又一遍地打开和结束引号以便使用字符串连接。在</p>
<hr/>
<p>但同时,如果你想发送的是:</p>
<pre><code>echo "junk junk:/vol/junk"
</code></pre>
<p>我不知道为什么要用<code>echo'</code>作为字符串的开头,但是很明显,你一下子就搞错了。你想要的是:</p>
<pre><code>'''echo "{0} {1}"'''.format(mtpt, filervol)
</code></pre>
<p>我在那里放了5个空格,因为你的原始代码有一个2个空格的字符串加上了一个3个空格的字符串。但是你想要的输出有14个空格,所以…我不确定你到底想要什么。如果实际代码中涉及的制表符在复制粘贴到StackOverflow时丢失,我建议在文本中使用<code>\t</code>转义符,而不是实际的制表符。在</p>