私はディレクトリにいくつかのテキストファイルを持っています。すべてのテキストファイルでは、彼らはこれらの行Python:テキストファイルから特定の範囲の行を出力する
を持って***************エラーの概要****************** ****
ライン1
ライン2
ラインn
======================== ============
すべてのテキストファイルには、同じ数の行(n)がありません。たとえば、file1には3行、file2には1行などがあります。私がしなければならないことは、1行目からn行目までのリストを印刷することです。すべてのファイルには独自のリストがあります。
これが私の最初のコード
target = "Error Summary"
for file in files:
content = open(os.path.join(subdir, file),'r')
for line in content:
if target in line:
chunk = ''.join(islice(content,50))
chunk = chunk.split("==", 1)[0]
chunk_list.append(chunk)
である。しかし、ポインタが既にライン51に行くように、これらはだから私はこれは良さそうだ
for line in content:
if target in line:
for i in range(50):
chunk = content.next()
if chunk.startswith("=="):
break
chunck_list.append(chunk)
新しいコードで出てくる私の次のコードを邪魔します。ただし、すべての行が1つのリストに印刷されます。誰でも助けることができますか?
--------------------------- EDIT ------------------ -----------
私はコードすでに
for line in content:
if target in line:
for line in content:
if line.startswith("=="):
break
chunk_list.append(line)
を得たが、出力は1つのリストに圧縮されています。私が欲しいのは、list1のFile1の出力、list2のFile2の出力などです。誰でも助けてください..
これは、行数がわかっている場合に機能します。私の場合、テキストファイルには何百もの行があり、ターゲットはファイル1の上端、ファイル2の下端、ファイル3の中央にあります。 – Miyek
ファイルの行数を取得するには、次のコマンドを使用します:http://stackoverflow.com/questions/845058/how-to-get-line-count-cheaply-in-python – PseudoAj