현재 파이썬을 사용하여 입력 파일의 두 줄 사이에서 일부 데이터를 추출하려고합니다. infile은 다음의 -START- 앞에 -END- 조건이 발생하는 경우에만 다음 10 줄의 코드가 필요한 곳에 -START- 줄이 있도록 설정됩니다. -START- 줄은 -END- 앞에 여러 번 나타납니다. 무슨 뜻인지의 Heres는 일반적인 예 :파이썬을 사용하여 종료 줄이있는 경우 데이터 추출
ㅋ
ㅋ
-START-
10 라인은 내가 필요
ㅋ에게
-START-
10 줄 필요가없는
ㅋ
ㅋ
-END-
blah
blah
-START- 10 선이 나는 등
ㅋ
-START-
.... 등등과를 필요가없는
지금까지 난 단지에 대한 -START- + 10 개 라인을 얻을 수 있었다 모든 반복이 있지만, -END- 조건이 다른 -START- 조건보다 먼저 오면 작성해야 할 조건을 지정하는 데는 완전히 손실됩니다. 나는 약간의 newb, 그래서 어떤 도움을 크게 주시면 감사하겠습니다.
보너스 : 새/고유 한 출력 파일에 인쇄 할 START + 10 줄의 각 블록이 필요합니다. 그러나 나는 아직 그걸 가지고 놀아 본 적이 없으므로이 부분을 무시해도 좋습니다.
을 heres 나는 -START- + 10 라인을 인쇄하기 위해이 코드 :
in = open('input.log')
out = open('output.txt', 'a')
lines = in.readlines()
for i, line in enumerate(lines):
if (line.find('START')) > -1:
out.write(line)
out.write(lines[i + 1])
out.write(lines[i + 2])
out.write(lines[i + 3])
out.write(lines[i + 4])
out.write(lines[i + 5])
out.write(lines[i + 6])
out.write(lines[i + 7])
out.write(lines[i + 8])
out.write(lines[i + 9])
out.write(lines[i + 10])
항상 정확히 10 줄입니까, 아니면 START와 END 사이에 "START START와 END 사이에 다른 START가 없다고 가정합니다"라는 것입니까? 다음 중 종료 요인 (END 또는 10 줄) 중 가장 중요한 것은 무엇입니까? –