python 키워드 "with"는 무엇에 사용됩니까? [복제]
이 질문에는 이미 답변이 있습니다.
- 파이썬으로 "with"문장은 무엇입니까? 답변 10 개
파이썬 키워드 "with"는 무엇에 사용됩니까?
예 : http://docs.python.org/tutorial/inputoutput.html
>>> with open('/tmp/workfile', 'r') as f:
... read_data = f.read()
>>> f.closed
True
파이썬에서 with
키워드는 파일 스트림과 같은 관리되지 않는 리소스로 작업 할 때 사용됩니다. using
VB.NET 및 C # 의 명령문 과 유사합니다 . 예외가 발생하더라도 자원을 사용하는 코드의 실행이 완료되면 자원이 "정리"되도록 할 수 있습니다. 그것은 try/finally
블록에 '구문 설탕'을 제공합니다 .
에서 파이썬 문서 :
with
이전에 사용하는 것이 문 관계를 설명 코드try...finally
가 정리 코드를 확인하기 위해 블록이 실행됩니다. 이 섹션에서는 일반적으로 사용되는 명령문에 대해 설명합니다. 다음 섹션에서는 구현 세부 사항을 살펴보고이 문에 사용할 개체를 작성하는 방법을 보여 드리겠습니다.
with
문은 그 기본적인 구성되는 제어 흐름 구조이다 :with expression [as variable]: with-block
표현식이 평가되고 컨텍스트 관리 프로토콜을 지원하는 오브젝트 (즉, 보유
__enter__()
및__exit__()
메소드)가 생성됩니다.
Scott Wisniewski의 의견에 따라 고정 VB 콜 아웃을 업데이트하십시오 . 나는 참으로 혼란 한 with
과 using
.
Preshing on Programming 블로그의 설명 :
코드 블록을 사이에두고 한 쌍으로 실행하려는 두 개의 관련 작업이있을 때 편리합니다. 전형적인 예는 파일을 열고 파일을 조작 한 다음 닫는 것입니다.
with open('output.txt', 'w') as f: f.write('Hi there!')
위의 with 문은 중첩 된 코드 블록 다음에 파일을 자동으로 닫습니다. (닫기가 어떻게 발생하는지 정확하게 읽으려면 계속 읽으십시오.) with 문을 사용하면 중첩 된 블록이 종료되는 방식에 관계없이 파일을 닫을 수 있다는 장점이 있습니다. 블록이 끝나기 전에 예외가 발생하면 외부 예외 처리기가 예외를 포착하기 전에 파일을 닫습니다. 중첩 된 블록에 return 문이나 continue 또는 break 문이 포함 된 경우 with 문은 이러한 경우에도 파일을 자동으로 닫습니다.
참고 URL : https://stackoverflow.com/questions/1369526/what-is-the-python-keyword-with-used-for
'Programing' 카테고리의 다른 글
gitgitore를 Git 저장소에 커밋해야합니까? (0) | 2020.02.16 |
---|---|
.idea 폴더에서 무엇을 gitignore? (0) | 2020.02.16 |
스크롤 막대를 사용하지 않고 iframe을 내용에 따라 높이를 자동으로 조정합니까? (0) | 2020.02.15 |
언제 레디 스에? (0) | 2020.02.15 |
Java에서 Runnable 인터페이스와 Callable 인터페이스의 차이점 (0) | 2020.02.15 |