擅长:python、mysql、java
<p>要获得每行6个字符(不包括换行符本身),不考虑单词边界:</p>
<pre><code>import fileinput
from itertools import chain, izip_longest
limit = 6
lines = (line.rstrip('\n') for line in fileinput.input([outputFile], inplace=1))
chars = chain.from_iterable(lines) # all characters
for chunk in izip_longest(*[chars]*limit, fillvalue=''): # grouper recipe*
print(''.join(chunk)) # write to outputFile
fileinput.close() # close outputFile, delete backup
</code></pre>
<p><a href="https://stackoverflow.com/questions/434287/what-is-the-most-pythonic-way-to-iterate-over-a-list-in-chunks">*grouper recipe</a></p>
<p>该代码创建一个备份文件并将stdout重定向到<code>outputFile</code>,然后它(懒洋洋地)逐行读取文件,剥离换行符并将这些行链接成一个字符流,然后使用grouper方法每行写入<code>limit</code>个字符,最后关闭文件并删除备份。在</p>
<p>这段代码不适合初学者(只是一个练习)。在</p>