2011-09-06 7 views

답변

2

가장 쉬운 방법은, 나는 기본적으로

contents = [] 

with open('file') as f: 
    for line in f: 
     if line.startswith('<start>'): 
      pass 
     contents.append(line) 

contents = "".join(contents) 
sections = contents.split("<stop>") 

이다의 생각 목록의 패턴 행동과 저장소의 사용을 확인한 다음 섹션을 얻기 위해 다시 패턴을 사용할 수 있습니다.

0

정규 표현식을 사용하여 구분 기호 사이에서 텍스트를 추출하십시오.

0

다음은 입력 파일에 대한 몇 가지 무료 온 전성 검사가 포함 된 솔루션입니다.

with open('ProgramInput.txt') as f: 
    program_input = f.readlines() 

start_lines = [line_number for line_number,line in enumerate(program_input) if line.startswith('<start>')] 
stop_lines = [line_number for line_number,line in enumerate(program_input) if line.startswith('<stop>')] 

if len(start_lines) != len(stop_lines): 
    raise Exception('corrupt input file') 

for m,n in zip(stop_lines, start_lines): 
    if m - n <= 0: 
    raise Exception('corrupt input file') 
    with open('ProgramOutput_lines_{0}-{1}.txt'.format(n+2,m), 'w') as f: 
    f.writelines(program_input[n+1:m]) 

이 나에게 ProgramOutput_lines_2-5.txt를 가져옵니다

content 
... 
... 
... 

ProgramOutput_lines_9-11.txt : 물론

content 
... 
... 

을, 당신은 당신이 무엇을 선택하여 출력 파일 이름을 지정할 수 있습니다.

관련 문제