CodeGym /행동 /Python SELF KO /파일 작업하기

파일 작업하기

Python SELF KO
레벨 21 , 레슨 0
사용 가능

1.1 파일 열기

파이썬에서 파일 작업하기는 꽤 쉽고 직관적이어서 즐겁지. 우리가 지금 얘기하는 건 디스크에 파일을 만들거나 이동하는 게 아니라 파일의 내용을 읽고 쓰는 거야.

파일 내용 작업은 보통 다음과 같은 절차로 이루어져:


파일 열기 
파일 데이터 작업하기
파일 닫기

파일 전체 내용을 읽는 예시:


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

open 함수는 파일을 여는 데 사용돼. 이 함수는 두 가지 주요 인자를 받아: 파일 이름접근 모드. 이 함수는 파일 객체를 반환하고, 이를 통해 파일 읽기와 쓰기 작업을 수행할 수 있어.

예시:


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

파일 이름만 지정하면 현재 작업 중인 디렉토리에서 파일을 찾아. 전체 파일 이름을 지정하면 해당 경로로 접근하게 돼.

1.2 접근 모드

open() 함수의 두 번째 매개변수는 파일과의 작업 모드를 나타내. 접근 모드는 파일에 대해 수행할 수 있는 작업(읽기, 쓰기 등)을 결정해.

주요 접근 모드는 다음과 같아:

  • Read — 읽기.
  • Write — 쓰기.
  • Append — 추가하기.

이 모드에는 몇 가지 변형이 있어:

  • 'r': 파일을 읽기 위해 열기 (기본 모드). 파일이 존재해야 해.
  • 'w': 파일을 쓰기 위해 열기. 파일의 내용은 지워져. 파일이 존재하지 않으면 만들어질 거야.
  • 'a': 파일을 추가하기 위해 열기. 데이터는 파일 끝에 추가돼. 파일이 존재하지 않으면 만들어질 거야.
  • 'r+': 파일을 읽기 및 쓰기를 위해 열기. 파일이 존재해야 해.
  • 'w+': 파일을 읽기 및 쓰기를 위해 열기. 파일의 내용은 지워져. 파일이 존재하지 않으면 만들어질 거야.
  • 'a+': 파일을 읽기 및 추가를 위해 열기. 데이터는 파일 끝에 추가돼. 파일이 존재하지 않으면 만들어질 거야.

파일에 쓰기 예시:

파일에 데이터를 쓰고 싶다면, 파일을 열 때 w 모드를 지정해. 주의해야 할 점은, 파일의 기존 내용이 모두 지워진다는 거야!


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

파일에 추가하기 예시:

파일 내용을 지우지 않고 끝에 뭔가를 더하고 싶다면, a 모드를 파일 접근 모드로 지정하면 돼.


file = open('example.txt', 'a')
file.write("\nAppended text.")
file.close()

중요! 만약 파일에 쓰기를 하고 그 파일이 아직 존재하지 않으면, 자동으로 만들어져. 하지만 존재하지 않는 파일에서 데이터를 읽으려 하면 예외가 발생해.

1.3 파일 닫기

파일을 열 때마다 운영 체제가 여러분의 파일에 대한 접근 권한을 확인하고 프로그램에서 사용 중인 것으로 표시해. 파일 작업을 위해 특수한 리소스 - 핸들러(handler)가 할당되지.

핸들러의 수는 프로그램이 얻을 수 있는 수에 제한이 있어. 즉, 동시에 몇백 개의 파일만 열 수 있다는 거야. 많은 것처럼 보이지만, 프로그램이 서버에서 몇 달 동안 실행되며 매일 파일을 읽고 쓰면, 이 제한을 금방 초과할 수 있어.

작업이 끝난 후엔 파일을 닫아야 해, close() 메서드를 호출해서. 그럼 운영 체제에 이 파일이 더 이상 필요 없고 그 핸들러가 필요 없다고 알려주는 거야.

파일 닫기

파일 작업이 끝난 후엔 시스템 리소스를 해제하기 위해 파일을 닫아야 해. 이를 위해 close() 메서드를 사용해.


file = open('example.txt', 'r')
# 파일 작업 수행
file.close()

읽기 또는 쓰기를 위해 연 모든 파일은 닫아야 해. close() 메서드를 호출하는 걸 잊지 마.

2
과제
Python SELF KO, 레벨 21, 레슨 0
잠금
파일 읽기.
파일 읽기.
2
과제
Python SELF KO, 레벨 21, 레슨 0
잠금
접근 모드
접근 모드
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION