여러 텍스트 파일을 처리할 때 이를 하나의 파일로 연결해야 하는 경우가 종종 있습니다. open(), readline() 및 write() 메서드에서 한 줄씩 접근 방식을 사용하는 것은 간단해 보일 수 있지만 우아함이 부족합니다.
Python은 이 작업을 위해 더 정교한 방법을 제공합니다. 다음 접근 방식을 고려하십시오.
대용량 파일의 경우:
filenames = ['file1.txt', 'file2.txt', ...] with open('path/to/output/file', 'w') as outfile: for fname in filenames: with open(fname) as infile: for line in infile: outfile.write(line)
이 방법은 각 파일을 반복하여 줄을 순차적으로 읽고 씁니다. 대용량 파일에 효율적입니다.
작은 파일의 경우:
filenames = ['file1.txt', 'file2.txt', ...] with open('path/to/output/file', 'w') as outfile: for fname in filenames: with open(fname) as infile: outfile.write(infile.read())
작은 파일의 경우 이 접근 방식은 각 파일의 전체 내용을 한 번에 읽어 파일 수를 줄입니다. 파일 작업.
대안 사용 itertools:
filenames = ['file1.txt', 'file2.txt', ...] with open('path/to/output/file', 'w') as outfile: for line in itertools.chain.from_iterable(itertools.imap(open, filnames)): outfile.write(line)
이 방법은 itertools 모듈을 사용하여 마치 단일 목록인 것처럼 여러 파일의 줄을 반복합니다. 메모리 효율성은 떨어지지만 흥미로운 접근 방식으로 간주될 수 있습니다.
이러한 보다 우아한 기술을 사용하면 Python에서 텍스트 파일을 더 쉽고 효율적으로 연결할 수 있으며 크고 작은 파일이 모두 관련된 시나리오에 적합합니다.
위 내용은 Python에서 텍스트 파일을 어떻게 우아하게 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!