본문 바로가기
Python/Study

파이썬 파일 다루기 고급 활용법: 추가 학습으로 파일 관리 마스터하기

by Maccrey Coding 2024. 10. 26.
728x90
반응형

파이썬 초보자를 위한 파일 다루기 기초를 학습한 여러분, 이제 조금 더 심화된 기능을 알아볼 차례입니다.

이번 글에서는 파일을 다룰 때 보다 효율적이고 다양한 방식으로 사용할 수 있는 고급 기능을 소개합니다.

특히, 파일의 존재 여부를 미리 확인하거나 특정 부분만 선택적으로 읽고, 쓰는 방법을 다루어 보겠습니다.

1. 파일이 존재하는지 확인하기: os.path.exists()

파일 작업 중에는 파일의 존재 여부를 먼저 확인해야 하는 경우가 많습니다.

만약 파일이 없는데 열거나 삭제하려 하면 에러가 발생하기 때문입니다. 이를 방지하기 위해, 파이썬에서는 os.path.exists()를 사용하여 파일의 존재 여부를 쉽게 확인할 수 있습니다.

import os

if os.path.exists("파일명.txt"):
    print("파일이 존재합니다.")
else:
    print("파일이 존재하지 않습니다.")

이렇게 하면 파일이 존재할 때와 존재하지 않을 때의 상황을 구분할 수 있습니다.

2. 파일에 한 줄씩 읽기: readline()과 readlines()

파일의 모든 내용을 한꺼번에 불러오는 대신, 한 줄씩 읽어 처리하고 싶을 때가 있습니다.

readline()은 한 번 호출할 때마다 파일에서 한 줄씩 읽어오고, readlines()는 파일의 모든 줄을 리스트 형태로 반환합니다.

file = open("파일명.txt", "r")

line = file.readline()  # 첫 번째 줄 읽기
while line:  # 더 읽을 줄이 없을 때까지 반복
    print(line.strip())  # 출력 (공백 제거)
    line = file.readline()  # 다음 줄 읽기

file.close()

readlines() 예시

file = open("파일명.txt", "r")
lines = file.readlines()  # 모든 줄을 리스트로 가져오기

for line in lines:
    print(line.strip())  # 각 줄 출력

file.close()

이 방법은 파일이 매우 클 때 유용하게 쓰입니다.

3. 파일을 자동으로 닫기: with 구문 사용

파일을 열고 작업이 끝나면 close()를 호출해야 하지만, 이를 자주 잊을 수 있습니다. 이런 경우 파이썬의 with 구문을 사용하면 자동으로 파일이 닫히게 할 수 있어요.

with open("파일명.txt", "r") as file:
    내용 = file.read()
    print(내용)

이렇게 하면 with 블록이 끝날 때 파일이 자동으로 닫히기 때문에 close()를 따로 호출할 필요가 없습니다.

4. 파일 위치 이동: seek()

파일을 다루다 보면 파일의 특정 위치로 이동해야 할 때가 있습니다.

예를 들어, 특정 줄부터 데이터를 읽고 싶을 때 seek()를 사용하여 파일의 현재 위치를 설정할 수 있습니다.

file = open("파일명.txt", "r")
file.seek(10)  # 파일의 10번째 바이트로 이동
내용 = file.read()  # 현재 위치부터 읽기 시작
print(내용)

file.close()

seek()를 활용하면 파일 내 특정 지점으로 이동하여 원하는 부분만 읽어올 수 있습니다.

5. 파일 이름 변경 및 이동: os.rename()와 shutil.move()

파일을 다루다 보면 파일의 이름을 바꾸거나 다른 폴더로 이동하고 싶을 때가 있습니다.

os.rename()와 shutil.move()는 이러한 상황에 유용합니다.

import os

os.rename("이전파일명.txt", "새파일명.txt")  # 파일 이름 변경

파일 이동 예시

import shutil

shutil.move("파일명.txt", "/새로운경로/파일명.txt")  # 파일 이동

 

이번 글에서는 파이썬으로 파일을 다룰 때 유용한 고급 기능을 알아보았습니다.

os.path.exists()를 통해 파일의 존재 여부를 확인하고, seek()로 파일 내 위치를 이동하며, with 구문을 통해 파일을 자동으로 닫는 방법까지 다양한 활용법을 익히셨을 거예요.

이 기능들을 바탕으로 조금 더 효율적이고 전문적으로 파일을 다루는 프로그램을 만들 수 있습니다.

 

구독!! 공감과 댓글,

광고 클릭은 저에게 큰 힘이 됩니다.

 

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

728x90
반응형