Python列出一定数量的字符下的段落

时间:2015-11-02 21:51:30

标签: python

我试图以某种方式显示一个段落:

import textwrap

y = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
z = textwrap.wrap(y, width = 80)

for element in z:
    print(element)

这给了我一个好的段落,每行不超过80个字符。 enter image description here 但是,我还想列出前几句话,整个句子不超过250个字符。如果每行为80,则表示接近但不超过第三行。是否可以在我指定的循环中执行此任务?

1 个答案:

答案 0 :(得分:1)

只需使用切片,然后找到最后一段时间来切断任何部分句子。

text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

character_limit = 250
short_text = text[:character_limit]
short_text = short_text[:(short_text.rfind('.') + 1)]

>>> print('\n'.join(line for line in textwrap.wrap(short_text, width=80)))
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

您可以在循环中执行此操作,但要确定截止点的位置会更复杂。在打印之前清理文本要容易得多。