J'essaie d'utiliser textwrap pour formater un fichier d'importation qui est assez particulier dans la façon dont il est formaté. En fait, il se présente comme suit (longueur de la ligne raccourci pour la simplicité):Python Textwrap - forcer des sauts «durs»
abcdef <- Ok line
abcdef
ghijk <- Note leading space to indicate wrapped line
lm
Maintenant, j'ai obtenu le code pour travailler comme suit:
wrapper = TextWrapper(width=80, subsequent_indent=' ', break_long_words=True, break_on_hyphens=False)
for l in lines:
wrapline=wrapper.wrap(l)
Cela fonctionne presque parfaitement, cependant, le code d'emballage texte ne fait pas une pause à la marque de 80 caractères, il essaie d'être intelligent et de casser un espace (à environ 20 caractères).
Je l'ai arrondi en remplaçant tous les espaces dans la liste de chaînes par un caractère unique (#), en les enveloppant et en supprimant le caractère, mais sûrement il doit y avoir une manière plus propre?
N.B Toutes les réponses possibles doivent fonctionner sur Python 2.4 - désolé!