파이썬 초보자를 위한 파일 다루기 기초를 학습한 여러분, 이제 조금 더 심화된 기능을 알아볼 차례입니다.
이번 글에서는 파일을 다룰 때 보다 효율적이고 다양한 방식으로 사용할 수 있는 고급 기능을 소개합니다.
특히, 파일의 존재 여부를 미리 확인하거나 특정 부분만 선택적으로 읽고, 쓰는 방법을 다루어 보겠습니다.
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.
'Python > Study' 카테고리의 다른 글
Flask 애플리케이션이 외부에서 접근 가능하도록 설정 (2) | 2024.12.11 |
---|---|
파이썬으로 파일 다루기 쉽게 배우기: 초보자를 위한 파일 읽기, 쓰기, 삭제 가이드 (3) | 2024.10.26 |
맥북(Mac OS)에서 아나콘다(Anaconda) 및 파이썬 설치하는 방법 (4) | 2024.10.13 |
Python 웹 자동화: Selenium 사용방법 및 옵션 완벽 가이드 (4) | 2024.10.05 |
Lama 3.2 API 만들기: 초보자를 위한 쉽게 따라할 수 있는 가이드 (4) | 2024.10.03 |