擅长:python、mysql、java
<p>使用Python2.7,我对</p>
<pre><code>outfile.write(infile.read())
</code></pre>
<p>对</p>
<pre><code>shutil.copyfileobj(readfile, outfile)
</code></pre>
<p>我迭代了20多个.txt文件,大小从63MB到313MB不等,联合文件大小约为2.6GB。在这两种方法中,普通读取模式的性能都优于二进制读取模式,shutil.copyfileobj通常比outfile.write快。</p>
<p>当比较最差组合(outfile.write,二进制模式)和最佳组合(shutil.copyfileobj,正常读取模式)时,差异非常显著:</p>
<pre><code>outfile.write, binary mode: 43 seconds, on average.
shutil.copyfileobj, normal mode: 27 seconds, on average.
</code></pre>
<p>在正常读取模式下,输出文件的最终大小为2620 MB,而在二进制读取模式下为2578 MB。</p>