잔나 테마 라이선스가 확인되지 않았습니다. 테마 옵션 페이지로 이동하여 라이선스를 확인하세요. 각 도메인 이름에 대해 단일 라이선스가 필요합니다.

Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)

Python을 사용하여 텍스트 파일을 작업하는 7가지 유용한 방법

텍스트 파일 작업은 초보자든 전문가든 Python 사용자에게 가장 필수적인 작업 중 하나입니다. Python 언어에 포함된 적절한 도구를 사용하면 단 몇 줄만으로 데이터를 읽고, 수정하고, 처리하고, 저장할 수 있습니다. Python의 강력함은 파일 처리의 용이성에서 분명히 드러납니다. Python은 규모에 관계없이 모든 소프트웨어 프로젝트에 적합한 형식으로 텍스트에 접근하고, 구성하고, 변환하는 직접적인 기능을 제공합니다. 기본 사항을 이해하면 개발자는 특히 다양한 소스에서 수집된 레코드, 설정 또는 데이터를 다룰 때 작업을 빠르고 효율적으로 완료할 수 있습니다.

Python 코드를 표시하는 노트북 그림, 떠다니는 코드 창, 그리고 파란색 패턴 배경에 Python 로고. Python을 사용하여 텍스트 파일을 다루는 가장 쉬운 방법을 단계별로 소개합니다.

매일 수많은 파일을 다루시나요? 크고 작은 파일, 혼란스럽고 체계적인 파일 등 어떤 작업을 하든 Python은 파일 관리를 놀랍도록 간편하게 만들어 줍니다. 약간의 코딩만으로도 몇 시간씩 걸리는 작업을 줄이고 편안하게 작업할 수 있습니다. Python의 마법 같은 파일 처리 능력을 살펴보겠습니다.

차례

텍스트 파일 읽기

레코드, 구성 파일, 데이터세트 또는 텍스트 형식으로 작업할 때 가장 먼저 필요한 기술은 파일을 효율적으로 읽는 능력입니다. Python은 내장된 `open()` 함수와 몇 가지 유용한 읽기 기법을 통해 이 과정을 매우 쉽게 만들어 줍니다. `open()`은 표준 게이트웨이이지만, Python 특유의 파일 처리 방식은 컨텍스트 관리자(`with` 문)를 사용하는 것입니다.

with open("server.log", "r") as f:
    content = f.read()
    print(content)
Python 코드를 사용하여 파일 내용을 읽는 예: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)

이것이 "모든 것을 제공"하는 방식입니다. 파일 크기가 작거나 중간 정도라면 이상적입니다. Python은 전체 파일을 단일 문자열로 메모리에 로드합니다. `with`를 사용하면 Python이 자동으로 파일을 닫습니다. Python은 파일 리소스의 설정 및 삭제를 처리합니다.

각 줄을 개별적으로 읽으려면 다음 방법을 사용하세요.

with open("users.txt", "r") as f:
    for line in f:
        print(line.strip())

Python의 readline() 및 readlines() 함수도 활용할 수 있습니다.

# Read the first line
with open("data.txt", "r") as f:
    first_line = f.readline()

# Read all lines into a list
with open("data.txt", "r") as f:
    lines = f.readlines()
Python에서 readline 및 readline 함수를 사용하여 파일의 내용을 읽습니다. Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)

`readline()` 함수는 특정 줄 수만 필요할 때 매우 유용합니다. 예를 들어 lines[5]처럼 인덱스로 특정 줄에 접근해야 할 때 유용합니다. `readlines()` 함수는 각 줄을 목록으로 표시하여 인덱싱, 분할 및 빠른 변환에 편리합니다.

텍스트 파일에 쓰기

궁극적으로 모든 Python 개발자는 파일에 무언가를 다시 입력해야 합니다. 보고서를 작성하거나, 정리된 데이터를 저장하거나, 스크립트에서 로그를 작성하는 경우일 수 있습니다. 다행히 Python에서 파일에 쓰는 것은 읽는 것만큼 쉽습니다. 파일에 새 내용을 쓰려면:

또한 읽기:  Microsoft Word를 대시보드로 사용하는 방법
report = "Daily summary: All systems operational.\n"

with open("summary.txt", "w") as f:
    f.write(report)
Python의 write 함수를 사용하여 파일에 쓰기: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)
"w"로 파일을 열면 파일이 없으면 생성되고, 파일이 있으면 완전히 대체됩니다. 이 기능은 처리된 데이터 세트를 내보내거나 일일 보고서를 다시 생성하는 등 새로운 출력을 생성할 때 유용합니다. 파일에 데이터를 추가하려면 "a" 옵션을 사용하세요.
log_entry = "User logged in at 14:32\n"

with open("activity.log", "a") as f:
    f.write(log_entry)
Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법을 단계별로 소개합니다.
파일의 기존 내용을 보존하고 끝에 새 줄을 추가하려면 이 함수를 사용하세요. `writelines()` 함수는 여러 줄을 작성할 때 특히 유용합니다.
lines = [
    "apple\n",
    "banana\n",
    "cherry\n"
]

with open("fruits.txt", "w") as f:
    f.writelines(lines)
Python의 writelines 함수를 사용하여 여러 문자열을 파일에 쓰는 방법: Python을 사용하여 텍스트 파일을 다루는 가장 쉬운 방법을 단계별로 소개합니다.
문자열 유형의 Python 콘텐츠 목록이 있는 경우 유용합니다. 단, 줄 바꿈 문자는 추가되지 않으므로 문자열에 포함해야 한다는 점을 기억하세요.

텍스트 파일 내에서 검색

파일 읽기와 쓰기를 완벽하게 익혔다면, 다음 단계는 파일 안에서 원하는 내용을 찾는 것입니다. 오류 메시지를 찾기 위해 로그를 검색하거나 특정 패턴과 일치하는 줄을 추출할 수도 있습니다. Python은 텍스트 파일 내에서 검색하는 여러 가지 방법을 제공합니다. 루프를 사용하는 간단한 예를 살펴보겠습니다.
target = "ERROR"

with open("server.log", "r") as f:
    for line in f:
        if target in line:
            print("Found error:", line.strip())
Python에서 for-loop를 사용하여 파일에서 텍스트 검색: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)
이 방법은 기본적인 부분 문자열만 찾는 경우 매우 효과적입니다. 더 고급 필터링을 원하면 정규 표현식 패턴을 사용하여 자동화할 수 있습니다. Python의 `re` 모듈을 사용할 수 있습니다.
import re

pattern = re.compile(r"User\s+\d+\s+logged\s+in")

with open("activity.log", "r") as f:
    for line in f:
        if pattern.search(line):
            print("Match:", line.strip())

Python에서 정규식 패턴을 사용하여 파일에서 텍스트 검색: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)

식별자, 타임스탬프, 형식 등 구조가 있는 항목을 찾아야 하는 상황을 생각해 보세요. 이 예에서는 사용자가 숫자 ID로 로그인한 줄을 찾습니다.

파일의 텍스트 바꾸기

검색 기능은 훌륭합니다. 하지만 언젠가는 파일 내용을 변경해야 할 것입니다. Python은 기본 패턴을 이해하면 텍스트 바꾸기를 놀라울 정도로 쉽게 만들어 줍니다. 기본적인 찾기 및 바꾸기 작업에는 Python의 텍스트 연산을 사용할 수 있습니다.

old = "ERROR"
new = "INFO"

with open("server.log", "r") as f:
    content = f.read()

updated = content.replace(old, new)

with open("server.log", "w") as f:
    f.write(updated)
Python 문자열 연산을 사용하여 파일의 간단한 텍스트 바꾸기: Python을 사용하여 텍스트 파일을 다루는 가장 쉬운 방법(단계별)
이 패턴은 특정 단어나 구문의 모든 항목을 바꿀 때 이상적입니다. 만약 이 패턴만으로 충분하지 않다면, 고급 바꾸기 작업을 위한 정규 표현식을 사용할 수 있습니다. 간단한 예를 들어 보겠습니다.
import re

pattern = r"\bUser\s+(\d+)\b"
replacement = r"Account \1"

with open("activity.log", "r") as f:
    content = f.read()

updated = re.sub(pattern, replacement, content)

with open("activity.log", "w") as f:
    f.write(updated)
Python 정규식을 사용하여 파일의 텍스트 바꾸기: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)
여기서 정규 표현식을 사용하면 문자열뿐만 아니라 구조화된 텍스트도 바꿀 수 있습니다.
단어, 줄, 글자를 세어보세요
텍스트 파일이 있고 줄 수, 단어 수, 단어 발생 빈도와 같은 기본적인 지표가 필요하다고 가정해 보겠습니다. 이 정보는 텍스트 분석, 보고서, 데이터 처리에 유용할 수 있습니다. Python을 사용하면 이러한 작업을 쉽게 수행할 수 있습니다. 루프를 사용하여 개수를 셀 수 있습니다.

line_count = 0
char_count = 0

열 수(“노트.txt”, "아르 자형") as f:
을 통한in f:
줄 수 += 1
문자 수 += (선)

또한 읽기:  Google 드라이브 파일에 대한 직접 다운로드 링크를 만드는 방법

인쇄("윤곽:"(줄 수)
인쇄(“캐릭터:”, 문자 수)

이 간단한 루프는 대용량 파일에서도 잘 작동합니다. 한 번에 한 줄씩 읽고, 세고, 줄 전체에 걸쳐 총 문자 수를 추적합니다. 단어 수를 세는 방법은 다음과 같습니다.

word_count = 0

with open("notes.txt", "r") as f:
    for line in f:
        words = line.split()
        word_count += len(words)

print("Words:", word_count)

.split()을 사용하여 각 줄을 분할하면 단어 목록이 제공되는데, 이는 간단한 단어 기반 측정을 수행할 때 이상적입니다.

더욱 진보된 단어 분석을 위해 모듈을 활용할 수 있습니다. collections , 이와 같이:

from collections import Counter

counter = Counter()

with open("notes.txt", "r") as f:
    for line in f:
        counter.update(line.split())

print(counter.most_common(5))

Python을 사용하여 파일의 줄, 문자 및 단어 계산: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)

가장 많이 사용된 단어를 알아야 한다면 "카운터" 도구가 매우 유용합니다. 항목 수를 세어 주고, .most_common() 함수를 사용하면 가장 많이 사용된 단어(N)도 알려줍니다.

파일 분할 및 병합

텍스트 파일은 엄청나게 커질 수 있습니다. 수백만 개의 행이 포함된 데이터세트나 한 번에 처리하기 어려운 방대한 양의 데이터를 내보내는 상황을 상상해 보세요. 때로는 파일을 작은 부분으로 분할해야 할 수도 있고, 때로는 여러 파일을 하나의 명확하고 통합된 출력으로 병합해야 할 수도 있습니다. Python은 두 가지 작업을 모두 손쉽게 처리합니다.

파일을 분할하는 한 가지 방법은 고정된 개수의 줄을 새 파일에 쓰는 것입니다. 방법은 다음과 같습니다.

chunk_size = 10
file_number = 1
current_lines = []

with open("bigdata.txt", "r") as f:
    for i, line in enumerate(f, start=1):
        current_lines.append(line)

        if i % chunk_size == 0:
            output_name = f"chunk_{file_number}.txt"
            with open(output_name, "w") as out:
                out.writelines(current_lines)
            current_lines = []
            file_number += 1

# write any remaining lines
if current_lines:
    output_name = f"chunk_{file_number}.txt"
    with open(output_name, "w") as out:
        out.writelines(current_lines)

여러 파일을 하나의 모듈로 병합하려면 Python의 glob 모듈이 유용합니다.

import glob

with open("merged_output.txt", "w") as outfile:
    for filename in glob.glob("logs/log*"):
        with open(filename, "r") as infile:
            outfile.write(infile.read())

여기서 glob은 `log`로 시작하는 모든 파일을 `logs/` 폴더로 모으고, 사용자는 각 파일의 내용을 하나의 파일에 간단히 추가할 수 있습니다. 이 기능은 일일 로그 파일, 부분 데이터 내보내기 또는 관련 파일로 가득 찬 폴더를 다룰 때 유용합니다.

또한 읽기:  Snapchat에서 카메라 액세스를 허용하는 방법

도구가 통합되면 모든 종류의 일상적인 작업을 자동화할 수 있습니다. 예를 들어, 주간 로그를 월간 로그로 병합하거나, 대용량 입력 파일을 분할하여 스크립트에 입력하는 등의 작업이 가능합니다.

오류 처리 및 안전한 파일 작업
실제로 파일 작업을 하다 보면 항상 계획대로 진행되지는 않습니다. 파일 작업은 여러 가지 이유로 실패할 수 있습니다. 파일이 존재하지 않거나, 프로그램에 해당 파일을 읽거나 쓸 수 있는 권한이 없을 수도 있습니다. 스크립트가 프로세스 도중에 충돌하면 데이터가 손상되거나 파일이 완전히 작성되지 않은 상태로 남을 위험이 있습니다.

더 안전한 파일 입출력을 위해 Python에서 try/except 블록을 사용하여 Python 오류를 처리하는 것이 좋습니다.

filename = "config.txt"

try:
    with open(filename, "r") as f:
        data = f.read()
        print("File loaded successfully.")
except FileNotFoundError:
    print("File not found:", filename)
except PermissionError:
    print("You don’t have permission to read this file.")
except Exception as e:
    print("Unexpected error:", e)

Python을 사용하여 여러 파일을 단일 파일로 병합: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)

이를 통해 파일 누락이나 권한 문제 등 잠재적인 문제를 감지할 수 있습니다. 발생할 수 있는 또 다른 일반적인 문제는 인코딩입니다. 따라서 파일이 어떤 유형의 인코딩을 사용하고 있는지 확실하지 않은 경우 이 문제를 해결해야 합니다.

try:
    with open("encoding.txt", "r", encoding="utf-8") as f:
        content = f.read()
        print("File loaded successfully.")
except UnicodeDecodeError:
    print("File encoding is not UTF-8. Trying fallback…")
    with open("encoding.txt", "r", encoding="latin-1") as f:
        content = f.read()
        print("Fallback load succeeded:")
        print(content)
인코딩 프로세스는 혼합된 환경에서 파일을 읽을 때 발생하는 오류를 방지합니다.
이 가이드에서는 Python을 사용하여 수행하고 자동화할 수 있는 가장 일반적인 파일 작업들을 다룹니다. Python과 다양한 기능에 대해 더 자세히 알고 싶다면 os 모듈을 살펴보거나 open() 함수를 살펴보세요.
Python을 사용하여 파일을 읽는 동안 유니코드 디코딩 오류 포착: Python을 사용하여 텍스트 파일을 작업하는 가장 쉬운 방법(단계별)

텍스트 파일 관리를 숙달하면 Python 개발자는 프로젝트 내에서 데이터 관리 및 구성을 더욱 효율적으로 제어할 수 있습니다. Python의 핵심 도구만으로도 외부 라이브러리 없이도 대부분의 작업을 처리할 수 있으며, 연습을 통해 이러한 작업을 더욱 빠르고 쉽게 수행할 수 있습니다. 이러한 기술을 이해하는 것은 프로그래밍 기술을 개발하고 더욱 전문적인 프로젝트를 구축할 수 있는 역량을 키우고자 하는 모든 사람에게 중요한 단계입니다.

맨 위로 이동 버튼