-
파이썬 | 파일 처리(2): with-asProgramming/Python 2025. 9. 19. 18:00반응형
1. 파이썬
2. 변수
- 2.1. 기본자료형
- 2.2. 복합자료형
- 2.3. 자료형 메소드
- 2.4. 객체 복사
3. 조건문과 반복문
4. 예외 처리
5. 사용자 정의 함수
6. 모듈, 패키지, 라이브러리
7. 파일 처리
8. 객체 지향 프로그래밍
1. with-as

with-as 파일 객체를 생성하고 텍스트 파일을 처리할 때 with 명령문을 사용하면 프로그램을 보다 편리하게 작성할 수 있다. with 명령문 뒤에 open() 함수를 호출하여 파일 객체를 생성하고, as 명령문 뒤에 파일 객체를 할당할 변수의 이름을 작성한다. 쌍점 아래로 파일 처리를 위한 명령문을 작성하면 되며, 이때 close() 메소드는 호출할 필요가 없다. with 명령문에 속한 모든 명령문을 실행한 이후에 자동으로 파일 접근 권한을 양도하기 때문이다.
# 파일 쓰기 with open('VEDACUBE.txt', mode='w') as blog: blog.write('Hello! Welcome to VEDACUBE!\n') blog.write(r'https://vedacube.tistory.com/') # 파일 수정하기 category = ['Engineering', 'Technology', 'Programming'] with open('VEDACUBE.txt', mode='a') as blog_revise: blog_revise.write('\n[Category]\n') for i in category: blog_revise.write(f'- {i}\n') # 파일 읽기 with open('VEDACUBE.txt', mode='r') as data: for line in data: print(line)파이썬에서 텍스트 파일을 처리하기 위해 open() 함수로 파일 객체를 생성한 뒤에는 반드시 close() 메소드로 텍스트 파일의 제어 권한을 외부 프로그램으로 양도해야 한다. 만약 파일 처리를 하는 과정에서 오류가 발생한다면 close() 메소드를 호출하지 못하고 프로그램이 중단된다. 이때 파일의 제어 권한이 외부 프로그램으로 양도되지 않아 텍스트 파일에 예기치 못한 문제가 발생할 수 있다. 반면에 with 명령문을 사용하면 해당 명령문이 종료될 때 close() 메소드를 호출하지 않아도 텍스트 파일에 대한 접근 권한을 자동으로 양도한다. 이뿐만 아니라 with 명령문에 포함된 명령문을 실행하던 중에 오류가 발생하더라도 접근 권한을 양도하고 프로그램을 중단하므로 텍스트 파일을 안전하게 보호할 수 있다.
2. 인코딩

인코딩 윈도우, 맥, 리눅스 등의 운영체제(Operaing System, OS)는 텍스트 파일을 저장할 때 사전에 정해진 규칙에 따라 변환, 즉 인코딩(encoding)하여 저장한다. 동일한 내용을 담은 텍스트 파일이더라도 인코딩 형식이 다르다면 텍스트가 읽을 수 없는 형태로 출력된다. 이러한 문제는 서로 다른 운영체제끼리 텍스트 파일을 주고 받을 때 발생하는데, 이는 각 운영체제가 사용하는 인코딩 형식이 다르기 때문이다. 파이썬에서 open() 함수를 호출할 때 인코딩 형식을 지정할 수 있는데, 아래 예시와 같이 키워드 인자 encoding에 cp949, euc-kr, utf-8 등의 인코딩 형식을 할당하면 된다. utf-8 형식은 영어 외 모든 언어를 지원하여 가장 널리 사용되므로, 파이썬으로 텍스트 파일을 처리하여 다른 운영체제와 주고 받을 일이 있다면 해당 인코딩 형식을 추천한다.
# 파일 객체 생성 (인코딩 형식 지정: utf-8) with open('VEDACUBE.txt', mode='w', encoding='utf-8') as blog: blog.write('Hello! Welcome to VEDACUBE!\n') blog.write(r'https://vedacube.tistory.com/') with open('VEDACUBE.txt', mode='r', encoding='utf-8') as data: for line in data: print(line)[함께 읽으면 좋은 페이지]
파이썬 | 객체 지향 프로그래밍(1): 클래스와 인스턴스
1. 파이썬 1.1. 기본 기능과 규칙 2. 변수2.1. 기본자료형 2.1.1. 정수형, 실수형, 논리형, 문자열 2.2. 복합자료형 2.2.1. 리스트, 튜플 2.2.2. 딕셔너리, 세트 2.3. 자료형 메소드 2.3.1. 리스트 메소드 2.3.2.
vedacube.tistory.com
참고문헌
- 박진수. (2019). 바로 쓰는 파이썬. 서울대학교출판문화원.반응형'Programming > Python' 카테고리의 다른 글
파이썬 | 객체 지향 프로그래밍(2): 속성과 메소드 (0) 2025.10.24 파이썬 | 객체 지향 프로그래밍(1): 클래스와 인스턴스 (0) 2025.10.17 파이썬 | 파일 처리(1): 메모장 파일 쓰고 읽기 (0) 2025.09.12 파이썬 | 객체 복사: 할당, 얕은 복사, 깊은 복사 (2) 2025.08.15 파이썬 | 모듈, 패키지, 라이브러리: import-as (1) 2025.07.18