Python textwrap 库 - 如何保留换行符?
在使用Python的textwrap库时,我该如何把这个:
short line,
long line xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
变成这个:
short line,
long line xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx
我试过:
w = textwrap.TextWrapper(width=90,break_long_words=False)
body = '\n'.join(w.wrap(body))
但是我得到的是:
short line, long line xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(我举的例子中的间距并不完全准确)
9 个回答
6
怎么样只对超过90个字符的行进行换行呢?
new_body = ""
lines = body.split("\n")
for line in lines:
if len(line) > 90:
w = textwrap.TextWrapper(width=90, break_long_words=False)
line = '\n'.join(w.wrap(line))
new_body += line + "\n"
24
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用某个特定的功能时,发现它没有按照预期工作,或者出现了错误信息。这时候,我们就需要去查找相关的资料,看看有没有人遇到过类似的问题,或者有没有解决方案。
在StackOverflow这样的社区里,很多程序员会分享他们的经验和解决方案。你可以在这里找到很多有用的信息,帮助你解决问题。记得在提问时,尽量描述清楚你遇到的情况,这样别人才能更好地帮助你。
总之,遇到问题时不要慌张,先查找资料,看看有没有人遇到过类似的情况,或者直接向社区求助,通常都会找到解决办法。
body = '\n'.join(['\n'.join(textwrap.wrap(line, 90,
break_long_words=False, replace_whitespace=False))
for line in body.splitlines() if line.strip() != ''])
35
尝试一下
w = textwrap.TextWrapper(width=90,break_long_words=False,replace_whitespace=False)
这似乎解决了我的问题
我是根据我在 这里 看到的内容弄明白的(我之前从来没有用过textwrap)