編輯:
你可以做這樣的事情:
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 wikipedia page進入應用此算法:
print getAbstract(text, lines=7)
會給你這樣的輸出:
Python是一種通用型的高層次 編程語言。 2它的設計 哲學強調代碼 的可讀性。[3] Python聲稱 「[結合]卓越的功能,非常清晰的語法」[4],其標準的 庫是大而全面的。 它使用縮進作爲塊 分隔符在流行的 編程語言中是不尋常的。
Python支持多種編程範式 (主要是面向對象的, 勢在必行,和功能性的)和 設有一個完全動態的類型系統 和自動內存管理, 類似於Perl中,紅寶石,方案,和Tcl的 。像其他動態語言,Python的 經常被用來作爲一種腳本...
沒有進一步的細節,很難幫助你。但如果你的問題是,服用前幾行是太過分了,你可能需要看看textwrap
例如,如果你只想要100個字符的抽象,你可以做以下一些條目:
import textwrap
abstract = textwrap.wrap(text, 100)[0]
這也將取代換行符與空格可能需要根據您的要求。
「不完全開心」是什麼意思?你能舉出「錯誤」和「正確」摘要的例子嗎? – 2009-11-04 19:13:48