나는 하나의 텍스트 파일에서 연속적으로 줄을 읽고 그 줄을 처리 할 데몬을 설계하고있다. 데몬이 실행되고 있지 않을 때 줄이 텍스트 파일에 기록되는 경우 파일 이름과 관계없이 처리되는 마지막 줄을 추적하는 좋은 일반적인 용도는 무엇입니까?텍스트 파일에서 읽은 마지막 줄을 추적하는 가장 좋은 방법
가끔씩 파일이 보관되고 그 자리에 새로운 빈 파일이 생성됩니다. 데몬은 아카이브가 발생하도록 중지됩니다.
내 생각에 너무 복잡해 보인 부분은 마지막으로 성공적으로 처리 된 레코드의 해시와 줄 번호를 계산하여 저장하는 것입니다. 그런 다음 데몬이 다시 시작되면 해당 행 번호로 실행하여 해시를 계산하십시오. 해시가 일치하면 다음 레코드 처리를 계속합니다. 해시가 일치하지 않으면 시작 부분에서 파일을 다시 시작합니다. 그러면 새 파일이라고합니다.
나는 로그 파일 분석기 또는 노출되지 않은 교과서에 사용되는 좋은 일반적인 목적 기술이 있다는 느낌이 들었습니다.
줄을 저장하기 전에 해싱을 생각했다고 생각할 수 없습니다. 매우 간단합니다. 컨텍스트 관리자에 대한 아이디어가 궁금합니다. 컨텍스트 관리자는 정확히 무엇을 사용합니까? 아직 그 중 하나를 실제로 사용하지 않았습니다. – Jeremy
몇 가지 예제 코드를 추가했지만, 특히 내 솔루션이 마음에 들지 않았습니다. 어쨌든 당신은 contextmanager 예제가 모두 똑같이 흥미로워지기를 바랍니다. –