[파이썬] 파일 객체와 with 문의 사용

파이썬에서 파일을 다루는 작업은 매우 흔합니다. 파일을 읽고 쓰는 작업을 위해 파일 객체를 사용하며, 이를 이용해 파일을 열고 닫을 수 있습니다. 하지만 파일을 다룰 때 실수로 파일을 열기만 하고 닫지 않는다면 리소스 누수와 같은 문제가 발생할 수 있습니다. 이러한 실수를 방지하기 위해 with 문을 사용하는 것이 좋습니다.

with 문은 파일을 열고 사용한 후 자동으로 닫아주는 기능을 제공합니다. 이는 파일 처리를 깔끔하게 해주고, 파일 리소스를 효율적으로 관리하는 데 도움이 됩니다.

다음은 with 문을 사용하여 파일을 열고 내용을 읽어오는 예제입니다:

with open('example.txt', 'r') as file:
    contents = file.read()
    print(contents)

위 코드에서 with 문은 파일을 열고 file 변수에 파일 객체를 할당합니다. with 문을 벗어나면 자동으로 파일이 닫힙니다. 따라서 우리는 파일을 명시적으로 닫아주지 않아도 됩니다.

open() 함수는 파일을 열기 위해 사용되며, 첫 번째 매개변수에는 파일의 경로와 이름을 넣고, 두 번째 매개변수에는 파일을 열 때의 동작(읽기, 쓰기, 추가)을 지정합니다. 위의 예제에서 ‘example.txt’는 읽기 모드로 파일을 열게 됩니다.

with 문을 사용하면 파일 처리 후에 자동으로 파일이 닫히므로, 우리는 명시적으로 file.close()를 호출하지 않아도 됩니다. 이는 파일 관리를 훨씬 간단하게 만들어줍니다.

파일을 쓰는 작업에도 동일한 방식으로 with 문을 사용할 수 있습니다:

with open('example.txt', 'w') as file:
    file.write('Hello, World!')

위 예제에서는 ‘example.txt’ 파일을 쓰기 모드로 열고, write() 메서드를 사용하여 내용을 씁니다. with 문을 벗어나면 파일이 자동으로 닫히기 때문에 우리는 명시적으로 file.close()를 호출할 필요가 없습니다.

파일을 다룰 때 with 문을 사용하면 코드의 가독성을 높이고, 파일 관리를 효율적으로 할 수 있습니다. 실수로 파일을 닫지 않는 문제를 사전에 방지할 수 있으므로, 파일 처리 작업에서 with 문을 적극적으로 활용해보세요.