首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Python 文本處理實戰:讀取文件替換指定字符串並寫入新文件

     編輯:程式設計綜合問答

需求場景

文本文件 m.txt 中將所有 avg rating: 替換為 avg:,保存為新文件。

標準三步走代碼

# 1. 讀取原文件
with open('m.txt', 'r', encoding='utf-8') as f1:
    content = f1.read()

# 2. 字符串替換
new_content = content.replace('avg rating:', 'avg:')

# 3. 寫入新文件
with open('m1.txt', 'w', encoding='utf-8') as f2:
    f2.write(new_content)

關鍵最佳實踐

  • with 語句:自動關閉文件句柄,異常安全
  • 指定 encoding:防止中文亂碼(UTF-8 通用)
  • 讀全量 vs 行處理:小文件 read() 簡潔;大文件用 for line in f1 流式處理
  • 原地修改風險:讀寫同一文件易導致數據丟失,建議寫新文件再替換

大文件流式版本

with open('m.txt', 'r', encoding='utf-8') as fin, \
     open('m1.txt', 'w', encoding='utf-8') as fout:
    for line in fin:
        fout.write(line.replace('avg rating:', 'avg:'))

進階:正則替換

import re
new_content = re.sub(r'avg\s+rating:', 'avg:', content)  # 匹配任意空白

Python 文本處理核心:with + encoding + replace/re/sub。牢記「讀舊寫新」原子性原則。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved