2017-10-24 3 views
-2

저는 python에 대해 새말이 없으며 텍스트 파일에서 한 페이지를 추출하려고합니다. 각 페이지는 고유 한 행으로 시작하고 '//'로 끝납니다. 그리고 나는 그것과 관련된 고유 한 라인을 알고 특정 페이지를 리턴하는 방법을 찾고 싶다. 내가 사용할 수있는 도구가 무엇인지 알고 있습니까?파이썬을 사용하여 텍스트 파일에서 한 페이지 인쇄

답변

1

을 취득하는 인덱스를 표시 할 수 있습니다 파일을 "//"으로 변경 한 다음 split"\n"까지 입력하여 첫 번째 줄을 얻은 다음 줄과 페이지를 연결하는 사전을 만듭니다.

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) 

을 그냥 인덱스 페이지는이 라인에서 원하는 다음 :

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에서 끝까지의 항목입니다 (나머지 목록은 a.k.a 페이지 자체입니다). – Neo

0

당신은 TEXTFILE을로드하고 "//"

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

페이지에 대한 분할을 사용하는 지금 목록을 당신은 당신이 당신은 split을 할 수

print(pages[0]) 
0

안녕하세요 목록에 텍스트를 분할하려고

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