2017-10-24 10 views
-2

私はPythonにはまったく静かで、テキストファイルから1ページを抽出したいと思います。各ページは一意の行で始まり、「//」で終わります。そして、私はそれに関連するユニークなラインを知っている特定のページを返す方法を見つけたいと思っています。私はどのツールを使うことができるか知っていますか?pythonを使ってテキストファイルに1ページを出力する

答えて

1

を取得したいのインデックスを示すことができファイルを"//"で、次にsplit"\n"とし、最初の行を取得してから、行とページを関連付ける辞書を作成します。

header_to_page = {} 
with open("file.txt", "r") as f: 
    content = f.read() 
    pages = content.split("//") 
    for page in pages: 
     lines = page.split("\n") 
     header_to_page[lines[0]] = "".join(lines[1:]) 

print header_to_page["example line"] 
+0

あなたがラインheader_to_page [ラインを説明できます[0]] =行[1:]? – StudentOIST

+0

@smvpfm 'lines [0]'はリストの最初の項目です(最初の行、ヘッダーです)。 'lines [1:]'は、インデックス1から最後までの項目です(リストの残りの部分、つまりページそのものです)。 – Neo

0

あなたは、テキストファイルをロードし、「//」

file = open(“testfile.txt”, “r”) 
contents = file.read() 
pages = contents.split("//") 

ページに対してスプリットを使用している今、リストを、あなたはあなたがあなたがsplitの可能性

print(pages[0]) 
0

こんにちはリストにテキストを分割してみてください。

import pickle 

text= "hello this is a unique line. and it will end with // this should be 
the other line and it also ends with // a third line just for good mesure//" 
pickle.dump(text, open("text.txt","wb")) 

page = pickle.load(open("text.txt","rb")).split("//")[0] 

print(page) 

してからちょうどインデックスあなたは、この行にしたいページ:

page = pickle.load(open("text.txt","rb")).split("//")[0] 
関連する問題