[파이썬] 파일의 텍스트 읽기와 읽기 위치 이동

파이썬에서 파일을 다루는 작업 중 텍스트 파일을 읽고, 읽기 위치를 이동하는 기능은 매우 유용합니다. 이를 통해 파일 내용을 쉽게 처리하고 조작할 수 있습니다. 이번 글에서는 파이썬에서 파일의 텍스트를 읽는 방법과 읽기 위치를 이동하는 방법에 대해 알아보겠습니다.

파일 열기 및 닫기

파일을 읽기 위해서는 먼저 파일을 열어야 합니다. open() 함수를 사용하여 파일을 열 수 있으며, 파일 경로와 모드를 인자로 전달해야 합니다. 일반적으로 텍스트 파일을 읽기 위해 모드로 ‘r’을 사용합니다.

file = open('file.txt', 'r')

파일을 다 사용한 후에는 반드시 close() 함수를 사용하여 파일을 닫아야 합니다. 이는 파일 리소스를 해제하여 메모리 누수를 방지하는데 도움이 됩니다.

file.close()

하지만 close() 함수를 매번 호출하는 것은 번거롭고 실수할 가능성도 있습니다. 따라서 with 문을 사용하여 파일을 읽거나 쓰고 나면 자동으로 닫히도록 하는 것이 좋습니다.

with open('file.txt', 'r') as file:
    # 파일을 읽은 뒤에는 자동으로 닫힘

파일의 텍스트 읽기

파일을 열었다면 이제 파일의 텍스트를 읽어올 수 있습니다. 가장 간단한 방법은 read() 메서드를 사용하는 것입니다. read() 메서드는 파일에서 모든 텍스트를 읽어옵니다.

with open('file.txt', 'r') as file:
    content = file.read()

만약 파일의 일부분만 읽고 싶다면, read() 메서드에 읽을 바이트 수를 인자로 전달할 수 있습니다.

with open('file.txt', 'r') as file:
    content = file.read(10)  # 첫 10바이트 읽기

또는 한 줄씩 읽으려면 readline() 메서드를 사용할 수 있습니다.

with open('file.txt', 'r') as file:
    line = file.readline()  # 한 줄 읽기

파일의 모든 줄을 읽고 싶다면, readlines() 메서드를 사용합니다. 이 메서드는 파일의 모든 줄을 리스트로 반환합니다.

with open('file.txt', 'r') as file:
    lines = file.readlines()  # 모든 줄 읽기

읽기 위치 이동

파일을 읽을 때 읽기 위치를 이동하는 것이 필요할 수 있습니다. 파이썬에서는 파일 객체의 seek() 메서드를 사용하여 읽기 위치를 이동할 수 있습니다. seek() 메서드는 첫 번째 인자로 이동할 바이트 수를, 두 번째 인자로 이동 기준을 설정합니다. 이동 기준은 0은 파일의 시작 위치, 1은 현재 위치, 2는 파일의 끝 위치입니다.

with open('file.txt', 'r') as file:
    file.seek(10, 0)  # 파일의 시작에서 10바이트 뒤로 이동

이렇게 읽기 위치를 이동하면 이후의 읽기 작업은 이동한 위치부터 진행됩니다.

마무리

이번 글에서는 파이썬에서 파일의 텍스트를 읽는 방법과 읽기 위치를 이동하는 방법에 대해 알아보았습니다. 파일을 읽고 다루는 작업은 데이터 처리나 파일 조작에 필수적인 기능이므로, 이러한 기능을 숙지하고 나면 파이썬을 효과적으로 활용할 수 있습니다.