[파이썬] 파일 객체와 줄 단위 읽기

파이썬에서 파일을 읽고 쓸 때, 가장 기본적인 방법 중 하나는 파일 객체를 사용하여 파일을 열고, 읽거나 쓰는 것입니다. 이번 포스트에서는 파일 객체를 사용하여 파일을 줄 단위로 읽는 방법에 대해 알아보겠습니다.

파일 열기

파일을 읽기 위해서는, 먼저 파일을 열어야 합니다. open() 함수를 사용하여 파일을 열 수 있습니다. 예를 들어, 다음과 같이 파일을 열 수 있습니다.

file = open("example.txt", "r")

위의 코드에서 "example.txt"는 파일의 경로와 이름을 나타내는 문자열입니다. r은 파일을 읽기 모드로 열라는 의미입니다. 다른 모드로 파일을 열고 싶다면, w (쓰기 모드), a (추가 모드) 등을 사용할 수 있습니다.

파일 읽기

파일을 열고 나면, readline() 메서드를 사용하여 파일을 줄 단위로 읽을 수 있습니다. 이 메서드는 파일에서 한 줄씩 읽으며, 파일 끝에 도달하면 빈 문자열을 반환합니다. 예를 들어, 다음과 같이 파일을 읽을 수 있습니다.

file = open("example.txt", "r")

line = file.readline()
while line:
    # do something with the line
    print(line)
    
    line = file.readline()

file.close()

위의 코드에서 readline() 메서드를 사용하여 파일의 한 줄을 읽고, 읽은 줄을 출력합니다. 그리고 다음 줄로 넘어가기 위해 readline() 메서드를 다시 호출합니다. 파일의 끝에 도달하면, readline() 메서드가 빈 문자열을 반환하여 while 루프를 종료합니다.

파일 닫기

파일을 모두 읽고 나면, 항상 파일을 닫아야 합니다. 이는 리소스를 효율적으로 관리하기 위해 중요합니다. 파일을 닫기 위해 close() 메서드를 사용합니다. 다음은 파일을 닫는 예시입니다.

file.close()

예외 처리

파일을 다룰 때는 항상 예외 처리를 고려해야 합니다. 파일을 열거나 읽을 때 오류가 발생할 수 있으므로, try-except 블록을 사용하여 예외를 처리하는 것이 좋습니다. 예를 들어, 다음과 같이 예외 처리를 추가할 수 있습니다.

try:
    file = open("example.txt", "r")

    line = file.readline()
    while line:
        # do something with the line
        print(line)
        
        line = file.readline()

    file.close()
except FileNotFoundError:
    print("File not found")
except:
    print("An error occurred!")

위의 코드에서 try 블록 안에서 파일을 열고 읽는 작업을 수행합니다. 만약 파일을 찾을 수 없을 경우 FileNotFoundError 예외가 발생합니다. 그리고 다른 모든 오류는 except 블록에서 처리됩니다.

파일을 읽을 때에는 파일을 닫는 것을 잊지 않도록 주의해야 합니다. 그리고 예외 처리를 통해 오류에 대비하는 것이 좋습니다. 이를 통해 안정적이고 오류 없는 파일 읽기를 할 수 있습니다.

파이썬에서 파일 객체와 줄 단위로 파일을 읽는 방법에 대해 알아보았습니다. 이를 응용하여 원하는 작업을 수행하고 파일을 처리할 수 있습니다.