[파이썬] 파일 객체와 텍스트 파일 처리

파이썬은 강력한 파일 처리 기능을 제공하여 텍스트 파일을 읽고 쓰는 작업을 쉽게 할 수 있습니다. 이번 포스트에서는 파일 객체를 사용하여 텍스트 파일을 열고 읽고 쓰는 방법에 대해 알아보겠습니다.

파일 열기와 닫기

파일을 열기 위해서는 open() 함수를 사용합니다. 다음은 파일을 열고 파일 객체를 반환하는 예제입니다:

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

위의 코드에서 "example.txt"는 파일의 경로와 이름이고, "r"은 파일을 읽기 모드로 열겠다는 것을 의미합니다. 파일을 쓰기 모드로 열려면 "w"를 사용합니다.

파일을 열었다면 작업이 끝나면 파일을 닫아야 합니다. 파일을 닫기 위해 close() 메소드를 사용합니다:

file.close()

파일을 닫지 않으면 파일을 올바르게 저장하지 못할 수 있으므로 반드시 닫아야 합니다.

파일에서 읽기

파일 객체를 사용하여 텍스트 파일에서 데이터를 읽을 수 있습니다. 파일을 읽기 모드로 열었다면, read() 메소드를 사용하여 파일 내용을 읽을 수 있습니다:

file = open("example.txt", "r")
content = file.read()
file.close()

위의 코드에서 read() 메소드는 파일의 내용을 하나의 문자열로 반환합니다. 이는 파일의 전체 내용을 한 번에 읽고 저장합니다.

파일을 읽을 때에는 파일 객체의 위치를 기억해두어야 합니다. 파일 객체의 위치를 원하는 위치로 이동시키고 싶다면 seek() 메소드를 사용할 수 있습니다. 이 메소드는 파일 객체의 위치를 지정한 바이트 수로 이동시킵니다.

파일에 쓰기

파일 객체를 사용하여 텍스트 파일에 데이터를 쓸 수도 있습니다. 파일을 쓰기 모드로 열었다면, write() 메소드를 사용하여 데이터를 파일에 쓸 수 있습니다:

file = open("example.txt", "w")
file.write("Hello, World!")
file.close()

위의 코드에서 write() 메소드는 파일에 데이터를 씁니다. 이 때, 기존 파일의 내용을 덮어쓰게 됩니다. 기존 내용을 유지한 채로 새로운 내용을 추가하고 싶다면 파일을 쓰기 모드 대신 추가 모드로 열어야 합니다:

file = open("example.txt", "a")
file.write("Hello, Again!")
file.close()

위의 코드에서 "a"는 추가 모드를 나타냅니다.

예외 처리하기

파일 처리 중에는 예외가 발생할 수 있습니다. 파일이 존재하지 않을 경우, 파일을 열 수 없을 경우 등 다양한 예외 상황이 발생할 수 있습니다. 이러한 예외를 처리하기 위해 예외 처리 구문을 사용할 수 있습니다:

try:
    file = open("example.txt", "r")
    content = file.read()
    file.close()
except FileNotFoundError:
    print("File not found!")
except Exception as e:
    print("An error occurred:", str(e))

위의 코드에서 try-except 구문을 사용하여 예외를 처리합니다. FileNotFoundError 예외는 파일을 찾을 수 없을 때 발생하며, Exception 예외는 다른 모든 예외 상황을 처리합니다. 예외가 발생하면 해당 예외 메시지를 출력합니다.

결론

이번 포스트에서는 파일 객체와 텍스트 파일 처리에 대해 알아보았습니다. 파일을 열고, 읽고, 쓰는 방법을 익힘으로써 텍스트 파일을 다룰 때 도움이 될 것입니다. 파이썬의 강력한 파일 처리 기능으로 더욱 효율적인 작업을 할 수 있습니다.

파일 처리와 관련된 다른 기능들도 파이썬에서 제공되므로, 더 많은 기능들을 학습하고 활용해보시기 바랍니다.