擅长:python、mysql、java
<p>你说:“<em>这可能不太明显,但如果你使用StringIO处理二进制数据,你在Python 2.7或更新版本的</em>上就走运了。”。</p>
<p>这并不明显,因为这不是真的。</p>
<p><strong>如果您有在2.6或更早版本上工作的代码,它将继续在2.7上工作。未编辑的屏幕转储(Windows命令提示窗口在第80列及全部行换行):</p>
<pre><code>C:\Users\John>\python26\python -c"import sys,StringIO;s=StringIO.StringIO();s.wr
ite('hello\n');print repr(s.getvalue()), sys.version"
'hello\n' 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]
C:\Users\John>\python27\python -c"import sys,StringIO;s=StringIO.StringIO();s.wr
ite('hello\n');print repr(s.getvalue()), sys.version"
'hello\n' 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)]
</code></pre>
<p><strong>如果需要编写在2.7和3.x上运行的代码,请使用<code>io</code>模块中的<code>BytesIO</code>类。</strong></p>
<p><strong>如果您需要/想要一个支持2.7、2.6、。。。3.x,你需要更加努力地工作。</strong>使用<a href="http://packages.python.org/six/" rel="noreferrer">six</a>模块应该会有很大帮助。</p>