擅长:python、mysql、java
<p>不需要在这里使用<code>str.replace</code>或<code>string.replace</code>,只需将该字符串转换为原始字符串:</p>
<pre><code>>>> strs = r"C:\Users\Josh\Desktop\20130216"
^
|
notice the 'r'
</code></pre>
<p>下面是上面字符串的<code>repr</code>版本,这就是您在这里看到<code>\\</code>的原因。
但实际上,实际字符串只包含<code>'\'</code>,而不包含<code>\\</code>。</p>
<pre><code>>>> strs
'C:\\Users\\Josh\\Desktop\\20130216'
>>> s = r"f\o"
>>> s #repr representation
'f\\o'
>>> len(s) #length is 3, as there's only one `'\'`
3
</code></pre>
<p>但是当您要打印这个字符串时,您将无法在输出中获得<code>'\\'</code>。</p>
<pre><code>>>> print strs
C:\Users\Josh\Desktop\20130216
</code></pre>
<p>如果希望字符串在<code>print</code>期间显示<code>'\\'</code>,请使用<code>str.replace</code>:</p>
<pre><code>>>> new_strs = strs.replace('\\','\\\\')
>>> print new_strs
C:\\Users\\Josh\\Desktop\\20130216
</code></pre>
<p><code>repr</code>版本现在将显示<code>\\\\</code>:</p>
<pre><code>>>> new_strs
'C:\\\\Users\\\\Josh\\\\Desktop\\\\20130216'
</code></pre>