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 文字) でブレークしようとします。
文字列リスト内のすべてのスペースを一意の文字 (#) に置き換え、それらをラップしてから文字を削除することでこれを回避しましたが、確かにクリーンな方法があるはずですか?
NB Python 2.4で動作する必要がある回答はすべて可能です-申し訳ありません!