2013-09-27 3 views
-2

큰 파일을 가지고 있습니다. 매번 파일에 줄을 쓰고, 처음에는 파일 크기를 확인하고, 크기 제한이 있으면 줄 시작 부분을 지 웁니다. 결말에 삽입하십시오. 누가 나를 도울 수 있습니까?파이썬 큰 파일의 시작 줄을 삭제합니다.

다른 사람? 나에게 도움이됩니다.

+1

무엇이 특별한 문제입니까? –

답변

2

죄송합니다.하지만 부적절한 건축 학적 결정입니다.

이 문제는 파이썬보다는 파일 시스템에 숨겨져 있습니다. 파일의 첫 번째 줄을 지우려면 실제로 전체 파일을 읽은 다음 저장소 드라이브에 전체적으로 (첫 줄 제외) 다시 써야합니다. 이는 매우 비효율적입니다. 이 일을

파이썬 코드는 다음과 같을 것입니다 : 당신이 정확하게 당신이 달성하려고하는 사항을 알려주십시오, 우리는 더 나은 솔루션을 마련 할 수

with open('file_path', 'r') as f: 
    lines = f.read().splitlines() 

with open('file_path', 'w') as f: 
    for item in lines[1:]: 
     thefile.write("%s\n" % item) 

.

예를 들어 로그 파일 인 경우 소프트웨어에서 자주 사용되는 솔루션은 파일 순환입니다. 즉, log_file1이 용량에 도달하면 log_file2, log_file3, log_fileN에 기록한 다음 log_file1에 다시 쓰기 시작합니다. 여기서 N은 갖고 싶은 파일의 최대 크기입니다.

+0

예, 로그 파일입니다. 파일은 1G 만 하나의 파일을 초과 할 수 없습니다. – Anakin

+0

고마워, 다른 사람들? – Anakin

관련 문제