텍스트 파일에서 마지막 라인만 읽는 방법에 대해서 알아보겠습니다.

1. readlines()를 이용한 방법

readlines()는 파일의 텍스트들을 라인으로 읽어서 리스트로 리턴합니다.

  • readlines()의 리턴 값이 있다면, 리스트의 마지막 Index 값을 읽으면 마지막 줄의 문자열을 얻을 수 있습니다.
  • readlines()의 리턴 값이 없다면, 비어있는 파일입니다.
file_path = 'sample.txt'

with open(file_path, 'r') as file:
    lines = file.readlines()
    if lines:
        last_line = lines[-1]
    else:
        last_line = None

if last_line is not None:
    print("마지막 라인:", last_line)
else:
    print("파일이 비어 있습니다.")

Output:

마지막 라인: Python!

2. for문을 이용한 방법

for line in file 처럼 파일에 대해서 for 루프를 돌리면, 라인 단위로 파일의 모든 내용을 순회합니다.

아래와 같이 for문으로 순회하면서 마지막 라인을 찾을 수 있습니다.

file_path = 'sample.txt'

with open(file_path, 'r') as file:
    last_line = None
    for line in file:
        last_line = line

if last_line is not None:
    print("마지막 라인:", last_line)
else:
    print("파일이 비어 있습니다.")

Output:

마지막 라인: Python!

3. readline()을 이용한 방법

readline()는 파일에서 한 줄을 읽고 문자열을 리턴합니다.

아래와 같이 while문을 이용하여 파일 끝까지 읽으면서, 마지막 라인의 문자열을 찾을 수 있습니다.

  • readline()의 리턴 값이 빈 값이면, 파일의 끝에 도달함을 의미하며, break로 반복문 탈출
file_path = 'sample.txt'

with open(file_path, 'r') as file:
    last_line = None
    while True:
        line = file.readline()
        if not line:
            break
        last_line = line

if last_line is not None:
    print("마지막 라인:", last_line)
else:
    print("파일이 비어 있습니다.")

Output:

마지막 라인: Python!