擅长:python、mysql、java
<p>您产生了一个<code>bytes</code><strong>表示</strong>;您在这里损坏了<code>repr()</code>调试输出。任何不可打印的字符或特殊字符都将被它们的转义序列替换。您生成的输出在字符串中没有制表符,它包含两个字符的序列<code>\</code>和{<cd4>}:</p>
<pre><code>>>> '\t'
'\t'
>>> '\t'.encode('utf8')
b'\t'
>>> str('\t'.encode('utf8'))
"b'\\t'"
>>> str('\t'.encode('utf8'))[1:]
"'\\t'"
>>> str('\t'.encode('utf8'))[1:][1:-1]
'\\t'
>>> len(str('\t'.encode('utf8'))[1:][1:-1])
2
</code></pre>
<p>我不清楚为什么首先要将文本编码成字节,然后再转换回字符串。一般来说,你不想那样做。在</p>
<p>在IDLE中,您并没有生成这样混乱的输出;您只是有一个带有实际制表符的常规字符串,因此对这些制表符进行拆分就可以了。我唯一的建议是不要在这里编码到字节。在</p>