我正在尝试使用 textwrap 来格式化导入文件,该文件的格式化方式非常特别。基本上如下(为简单起见缩短了行长):
abcdef <- Ok line
abcdef
ghijk <- Note leading space to indicate wrapped line
lm
现在,我的代码如下:
wrapper = TextWrapper(width=80, subsequent_indent=' ', break_long_words=True, break_on_hyphens=False)
for l in lines:
wrapline=wrapper.wrap(l)
这几乎完美地工作,但是,文本换行代码不会在 80 个字符标记处进行硬中断,它会尝试智能并在空格处中断(大约 20 个字符)。
我通过用唯一字符 (#) 替换字符串列表中的所有空格、包装它们然后删除字符来解决这个问题,但肯定有更清洁的方法吗?
注意任何可能的答案都需要在 Python 2.4 上工作 - 抱歉!