[Python] with 구문 이해

2022. 6. 10. 14:50· Python/Python 정리
목차
  1. | python with 
  2. | python에서 file의 open()과 close() 
  3. | with ~ as 문
728x90
반응형

이번 포스팅은 파이썬을 사용하면서 알게 된 with ~ as 문에 대해 이해하기 위해 정리한 글입니다. 


| python with 

- with은 파이썬에서 파일 처리를 하는데 제공하는 기능 중 하나입니다. 보통 프로그램에서 파일 처리를 한다고 하면 

 

1. 파일을 연다 : open() 

2. 파일을 처리한다 : read() or write() .. etc 

3. 파일을 닫는다 : close() 

 

이 세 가지의 방법을 기본으로 하여 처리를 합니다.

그런데 파일을 열고 처리를 했지만 오류가 생기거나 실수로 닫는 처리를 안 한다면 여러 가지 문제가 생길 것입니다.그래서 with은 실행했을 때 오류가 생겨도 해당 구문이 끝나면 close를 해주어 발생할 수 있는 문제를 예방할 수 있습니다.

그전에 python에서 file을 다루는 기본적인 방법을 가볍게 설명하고 with ~ as문을 설명하려고 합니다.


| python에서 file의 open()과 close() 

- 파이썬에서 파일을 다루는 방법은 따로 포스팅을 할 예정이며 이번에는 간단하게 파일을 다루는 방법을 알아보겠습니다.

먼저 txt 파일을 만들어 첫 줄을 읽는 코드를 작성해 보겠습니다

 

test.txt

 

예시) 

file_path = 'path'

# 'r'은 파일을 읽는 다는 뜻 
f = open(file_path + 'test.txt', 'r', encoding = 'utf-8')

# readline()은 txt에서 한 줄만 읽음 
read_line = f.readline() 

f.close()

print(read_line)

>>> test sample

 

- 정상적으로 test.txt의 첫 줄인 test sample을 읽은 것을 확인할 수 있습니다. 


| with ~ as 문

- 위 코드를 보시면 open -> readline -> close 순서로 파일 처리가 됐다는 것을 볼 수 있는데 여기서 오류가 발생하거나 실수로 close를 하지 않는다면 파일은 계속해서 열려있는 상태로 유지가 됩니다. 이런 것을  with ~ as문을 사용하여 방지할 수 있습니다. 예시를 통해 알아보겠습니다.

 

예시)

file_path = 'path'

with  open(file_path + '/test.txt', 'w', encoding = 'utf-8') as f :
    f.write('this is test code')

 

결과) 

 

- 기본적으로 with as 문은 with open() as 파일 객체 : 의 형태로 사용합니다. write가 끝난 뒤 자동으로 close 되며 

앞서 코드보다 더 간결하게 파일 처리를 하는 것을 볼 수 있습니다. 

 

 

파이썬의 with ~ as문을 알아봤습니다.

 틀린 점이나 질문이 있으시면 댓글로 남겨주세요! 

 

감사합니다 :) 

 

 

 

728x90
반응형
저작자표시 (새창열림)

'Python > Python 정리' 카테고리의 다른 글

[Python] os 모듈  (0) 2022.07.02
[Python] __enter__, __exit__ 메서드  (2) 2022.06.13
[Python] for ~ else 문 정리  (0) 2022.06.09
[Python] filter() 함수 정리  (0) 2022.06.08
[Python] zip() 이해  (0) 2022.04.28
  1. | python with 
  2. | python에서 file의 open()과 close() 
  3. | with ~ as 문
'Python/Python 정리' 카테고리의 다른 글
  • [Python] os 모듈
  • [Python] __enter__, __exit__ 메서드
  • [Python] for ~ else 문 정리
  • [Python] filter() 함수 정리
우준세
우준세
준세 단칸방우준세 님의 블로그입니다.
반응형
우준세
준세 단칸방
우준세
전체
오늘
어제
  • 분류 전체보기 (180)
    • Python (75)
      • Python 정리 (30)
      • 백준 알고리즘 (45)
    • C# (48)
      • Winform (12)
    • C & C++ (5)
      • C++ (1)
    • 영상처리 (17)
    • JAVA (11)
      • 코딩자율학습-스프링부트 (11)
    • AI (11)
      • DL (4)
      • Pytorch (5)
      • GAN (2)
    • Computer Science (3)
      • Algorithm (3)
    • Project (7)
    • 책 리뷰 (1)

블로그 메뉴

  • 글쓰기
  • 관리자

인기 글

태그

  • 자바
  • C# Task 메서드
  • c# 비동기프로그래밍
  • 코딩자율학습
  • c언어
  • 파이썬
  • C# 비동기
  • C# Evnet
  • c# 정규표현식
  • 스프링부트
  • C# dataGridView
  • C# Monitor
  • C# event
  • 이벤트 기반 프로그래밍
  • C# deadlock
  • 백준
  • pytorch tensor
  • opencv 객체 추적
  • 백준 파이썬
  • C# 이벤트 프로그래밍
  • C# ContinueWith
  • python opencv
  • c#
  • Python
  • opencv
  • Winform DataGridView
  • pytorch tutorial
  • pytorch
  • 알고리즘
  • C# 비동기 프로그래밍

최근 댓글

최근 글

우준세
[Python] with 구문 이해
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.