EDIT:あなたはこのような何かを行うことができます
:
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アルゴリズムを使用します。テキストを画面サイズの行に分割し、それらを使用して望ましい行数の長さを計算します。
print getAbstract(text, lines=7)
はあなたに、この出力を与える:python wikipedia pageエントリにこのアルゴリズムを適用する例えば
Pythonは、汎用の高レベル プログラミング言語です。 2そのデザイン 哲学はコード の可読性を強調します。[3] Pythonは "[結合]顕著なパワーと非常に 明確な構文"、[4]とその標準 ライブラリは大きくて包括的であると主張しています。 ブロック 区切り文字としてインデントを使用することは、普及している プログラミング言語の中では珍しいことです。
のPythonは、Perl、Rubyの、スキーム、及び Tclのと同様完全に動的型システム と自動メモリ管理、 を備えて複数のプログラミング パラダイム(主にオブジェクト指向、命令型、及び機能 )と をサポートします。他の動的言語と同様に、 Pythonは、多くの場合、それはあなたを助けるために難しい、さらに詳細がなくて...スクリプトとして
を使用しています。しかし、あなたの問題は、最初の数行を服用すると、あなたが唯一の100文字を使用すると、次の操作を行うことができます抽象化したい場合、たとえばtextwrap
を見てする必要があるかもしれないいくつかのエントリのためにあまりにも多くのことだった場合:
import textwrap
abstract = textwrap.wrap(text, 100)[0]
これは、必要に応じて改行をスペースで置き換えることもできます。
「まったく満足していない」とはどういう意味ですか? 「間違った」と「正しい」要約の例を挙げることはできますか? –