>백엔드 개발 >파이썬 튜토리얼 >Python에서 텍스트 파일을 어떻게 우아하게 연결할 수 있습니까?

Python에서 텍스트 파일을 어떻게 우아하게 연결할 수 있습니까?

DDD
DDD원래의
2024-12-12 22:27:10226검색

How Can I Elegantly Concatenate Text Files in Python?

Python에서 텍스트 파일을 연결하는 우아한 솔루션

여러 텍스트 파일을 처리할 때 이를 하나의 파일로 연결해야 하는 경우가 종종 있습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.