728x90
반응형
질문 : Python에서 "열기 사용"을 사용하여 여러 파일을 열 수 있습니까?
나는 그들 모두에 쓸 수 IFF에, 한 번에 파일의 몇 가지를 변경하고 싶습니다. 어떻게 든 여러 열린 호출을 with
문과 결합 할 수 있는지 궁금합니다.
try:
with open('a', 'w') as a and open('b', 'w') as b:
do_something()
except IOError as e:
print 'Operation failed: %s' % e.strerror
이것이 가능하지 않다면이 문제에 대한 우아한 해결책은 어떤 모습일까요?
답변
Python 2.7 (또는 각각 3.1)부터 다음과 같이 작성할 수 있습니다.
with open('a', 'w') as a, open('b', 'w') as b:
do_something()
이전 버전의 Python에서는 때때로 contextlib.nested()
를 사용하여 컨텍스트 관리자를 중첩 할 수 있습니다. 그러나 여러 파일을 여는 경우 예상대로 작동하지 않습니다. 자세한 내용은 링크 된 문서를 참조하세요.
드물게 다양한 수의 파일을 동시에 열고 싶은 경우 Python 버전 3.3부터 contextlib.ExitStack
with ExitStack() as stack:
files = [stack.enter_context(open(fname)) for fname in filenames]
# Do something with "files"
대부분의 경우 다양한 파일 세트가 있지만 차례로 열어보고 싶을 것입니다.
출처 : https://stackoverflow.com/questions/4617034/how-can-i-open-multiple-files-using-with-open-in-python
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
중첩 된 디렉토리를 안전하게 만드는 방법 (0) | 2021.06.29 |
---|---|
Python의 경로에서 확장자없이 파일 이름을 얻는 방법 (0) | 2021.06.29 |
파이썬에서 @property 데코레이터의 작동원리 (0) | 2021.06.26 |
파이썬의 순서 집합 (0) | 2021.06.25 |
사람들이 파이썬 스크립트의 첫 번째 줄에 #! / usr / bin / env python을 쓰는 이유 (0) | 2021.06.25 |