编辑:
你可以这样做:
from textwrap import wrap
def getAbstract(text, lines=5, screenwidth=100):
width = len(' '.join([
line for block in text.splitlines()
for line in wrap(block, width=screenwidth)
][:lines]))
return text[:width] + '...'
这利用 textwrap 算法来获得理想的文本长度。它将文本分成屏幕大小的行,并使用它们来计算所需行数的长度。
例如在python 维基百科页面条目上应用这个算法:
print getAbstract(text, lines=7)
会给你这个输出:
Python 是一种通用的高级编程语言。2它的设计理念强调代码的可读性。 [3] Python 声称“[将] 非凡的功能与非常清晰的语法结合在一起”,[4] 并且它的标准库庞大而全面。它使用缩进作为块分隔符在流行的编程语言中是不常见的。
Python 支持多种编程范式(主要是面向对象、命令式和函数式),并具有完全动态的类型系统和自动内存管理,类似于 Perl、Ruby、Scheme 和 Tcl。与其他动态语言一样,Python 通常用作脚本...
没有更多细节,很难帮助你。但是,如果您的问题是前几行对于某些条目来说太多了,您可能需要查看textwrap
例如,如果您只需要 100 个字符的摘要,您可以执行以下操作:
import textwrap
abstract = textwrap.wrap(text, 100)[0]
这也将根据您的要求将换行符替换为可能需要的空格。