'with' 문으로 여러 파일 열기
Python에서 파일 I/O 작업을 할 때 'with open()' 문은 파일을 자동으로 열고 닫는 편리한 방법을 제공합니다. 그러나 여러 파일을 동시에 열어야 하는 경우 기존 접근 방식을 사용하면 제한 사항이 발생할 수 있습니다.
다음 코드에는 작업할 두 개의 파일이 있습니다. 읽을 입력 파일 'oldfile'과 쓸 출력 파일 'newfile'.
<code class="python">def filter(txt, oldfile, newfile): with open(oldfile, 'r', encoding='utf-8') as infile: with open(newfile, 'w') as outfile: # ...</code>
보시다시피 파일을 순차적으로 열려면 'with' 문을 중첩해야 합니다. 파일 중 하나를 사용하여 작업하는 동안 예외가 발생하면 문제가 발생할 수 있습니다.
다행히도 Python은 단일 'with' 문 내에서 여러 'open()' 문을 사용하는 보다 효율적인 솔루션을 제공합니다. 이는 파일을 쉼표로 구분하여 수행됩니다.
<code class="python">def filter(txt, oldfile, newfile): with open(newfile, 'w') as outfile, open(oldfile, 'r', encoding='utf-8') as infile: # ...</code>
이 구문을 사용하면 두 파일을 동시에 열고 각각 'outfile' 및 'infile'로 액세스할 수 있습니다. 또한 'with' 블록이 종료되면 파일이 자동으로 닫혀 적절한 리소스 관리가 보장됩니다.
이 접근 방식은 코드를 단순화하고 중첩된 'with' 문으로 인해 발생하는 잠재적인 문제를 제거합니다. Python 버전 2.7 및 3.1 이상에서 지원됩니다. 이전 Python 버전의 경우 contextlib.nested를 사용하거나 이전과 같이 'with' 문을 계속 중첩할 수 있습니다.
위 내용은 \'with\' 문을 사용하여 여러 파일을 동시에 여는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!