StackOverflow를 둘러 보았고 특정 질문에 대한 대답을 찾을 수 없으므로 뭔가 놓친 경우 용서해주십시오.파일에 마지막 줄 바꿈 문자를 쓰지 마십시오.
import re
target = open('output.txt', 'w')
for line in open('input.txt', 'r'):
match = re.search(r'Stuff', line)
if match:
match_text = match.group()
target.write(match_text + '\n')
else:
continue
target.close()
파싱 할 파일이 너무 커서 한 줄씩 처리해야합니다.
물론 이것은 파일 끝에 추가 줄 바꿈 문자를 남깁니다.
'if match'루프의 최종 반복에서 파일의 끝에 추가 개행 문자를 넣지 않도록이 코드를 어떻게 변경해야합니까? 마지막에 파일을 다시 살펴보고 마지막 줄을 제거해야합니까? (비효율적으로 보이지만)?
내가 찾은 기존 StackOverflow 질문은 파일에서 모든 새 줄을 제거하는 것으로 나타났습니다.
이 코드를 작성하는 데 더 많은 pythonic/효율적인 방법이 있다면 나는 또한 내 자신의 학습을위한 제안을 환영합니다.
도움 주셔서 감사합니다.
파일 끝에있는 개행 문자가 "추가"되지 않습니다. 마지막 줄의 개행 문자입니다. – kindall
사람들은 일반적으로 최종 줄 바꿈을 유지합니다. 그래서 다른 많은 예를 보지 못합니다. – tdelaney
흥미로운 점은 @tdelaney입니다. 나는 그것에 대해 생각해 보지 않았고, 많은 상황에서 그것이 정말로 큰 관심사가 아니라고 생각합니다. –