파이썬(python) 기본

파이썬 파일 다루기: 입출력과 파일 처리 기초

vipDeveloper 2023. 8. 16. 16:22
반응형

오늘은 파이썬을 활용하여 파일을 다루는 방법에 대하여 알아보도록 하겠습니다.

 

1. 파일 입출력의 기본 개념

파일 입출력은 프로그램과 파일 간의 데이터 흐름을 관리하는 방법을 의미합니다.

 

 파이썬에서 파일 입출력은 'open ()' 함수를 사용하여 파일을 열고, 'read()', 'write()' 함수를 사용하여 데이터를 읽고 쓸 수 있습니다. 파일을 열때 파일 경로와 함께 모드를 지정하여 이를 정할 수 있습니다. 아래 내용을 통하여 같이 알아보도록 하겠습니다!

 

2. 파일 읽기와 쓰기

1) 파일 읽기

'with' 문을 사용하여 파일을 열면 블록 내에서 파일을 사용 한 후 자동으로 닫히게 됩니다. 'read()' 통해 내용을 한번에 읽어올 수 있습니다.

with open('파일경로', 'r') as file:
    contents = file.read()
    print(contents)

2) 파일 쓰기

'write()' 함수를 사용하여 파일에 데이터를 쓸 수 있습니다. 새로 파일이 생성되는 방식입니다.

with open('새로운파일.txt', 'w') as file:
    file.write('안녕하세요, 파일에 쓰는 예제입니다.')

이렇게 쓰면 기존에 파일에 작성된 내용은 날아가기때문에 이어서 쓰고 싶다면 다음과 같이 작성해야 합니다.

 

3) 파일 이어쓰기

# 기존 파일에 이어쓰기
with open('기존파일.txt', 'a') as file:
    file.write('\n새로운 내용을 추가합니다.')

 'a' 모드는 "append"를 의미하며, 파일을 열 때 기존 내용의 끝에서부터 쓰기가 시작됩니다. 또한 '\n'을 사용하여 새로운 내용이 기존 내용과 줄 바꿈을 하고 추가되도록 했습니다.

 

4)  파일 한 줄씩 읽기

with open('파일경로', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())  # 줄 바꿈 문자 제거하여 출력

 

5) 파일과 관련한 예외 처리

try:
    with open('파일경로', 'r') as file:
        contents = file.read()
        print(contents)
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except Exception as e:
    print("오류 발생:", str(e))

 

6) 파일 읽기 후 자원을 해제 하지 않는 예제 (주의)

다음과 같이 파일을 오픈 할 경우 의도한 경우가 아니라면 누수가 발생할 수 있으니 조심하여야 합니다.

file = open('파일경로', 'r')
contents = file.read()
print(contents)
# file.close()를 호출하지 않아 자원 누수가 발생할 수 있음

 

3. 파일 처리의 중요성, 그리고 주의사항

1) 파일 처리의 중요성

파일 처리는 데이터베이스나 외부 api와 상호 작용할때 매우 중요한 역할을 합니다. 로그 파일 분석, 구성 파일 읽기 및 쓰기등과 같은 작업 또는 대용량 데이터 처리등 다양한 업무에서 활용할 수 있기에 중요하다 생각합니다.

 

2) 예외 처리와 자원 관리

파일 다루기 과정에서 예외처리는 반드시 고려되어야 합니다. 파일을 처리하는 과정에서 예외가 발생할 수 있으며 이에 따른 예외처리를 적절하게 해놓지 않으면 메모리 누수 또는 프로그램 구동에 문제가 생겨 롤백 불가능한 상황이 업무중 발생할 수 도 있기 때문입니다.

 

오늘은 파일 처리에 관하여 기본적인 내용을 알아보았습니다. 꼭 숙지해 두시고 적절한 부분에 활용하여 보다 효율적인 프로그램을 작성하시기 바랍니다! 

 

반응형