首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python处理TXT文件完全指南 | Python文本操作教程

Python处理TXT文件完全指南 | Python文本操作教程

原创
作者头像
用户11638464
发布2025-08-06 17:05:11
发布2025-08-06 17:05:11
9910
举报

1. 打开和关闭文件

使用内置的open()函数打开文件,操作完成后使用close()方法关闭文件。

基本文件操作模式:

  • 'r': 读取模式(默认)
  • 'w': 写入模式(覆盖现有内容)
  • 'a': 追加模式
  • 'r+': 读写模式

示例:安全打开文件

代码语言:javascript
复制
# 使用with语句自动管理文件资源
with open('example.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)
# 文件会在with块结束后自动关闭http:/zhangyutiyu.xinjiangzijiayou.com
http:/zhangyutiyu.mfdgt.com

2. 读取文件内容

Python提供多种读取文件内容的方法:

read() - 读取整个文件

代码语言:javascript
复制
with open('file.txt', 'r') as f:
    content = f.read()
    print(content)

readline() - 逐行读取

代码语言:javascript
复制
with open('file.txt', 'r') as f:
    line = f.readline()
    while line:
        print(line.strip())
        line = f.readline()
        http:/zhangyutiyu.wsxzc.com
http:/zhangyutiyu.kstg321.com

readlines() - 读取所有行到列表

代码语言:javascript
复制
with open('file.txt', 'r') as f:
    lines = f.readlines()
    for line in lines:
        print(line.strip())

3. 写入和追加内容

写入模式 ('w')

覆盖现有文件或创建新文件

代码语言:javascript
复制
with open('output.txt', 'w') as f:
    f.write("第一行内容\n")
    f.write("第二行内容\n")
    # 注意:这会覆盖文件原有内容

追加模式 ('a')

在文件末尾添加新内容

代码语言:javascript
复制
with open('output.txt', 'a') as f:
    f.write("这是追加的内容\n")
    f.write("更多追加内容\n")
    http:/shanmaozhibo.bcdrying.net

4. 处理大型文本文件

对于大文件,避免一次性读取全部内容,使用迭代方式逐行处理:

代码语言:javascript
复制
# 高效处理大文件的方法
with open('large_file.txt', 'r', encoding='utf-8') as big_file:
    for line_number, line in enumerate(big_file, 1):
        # 处理每一行
        processed_line = line.strip().upper()
        
        # 每处理10000行输出进度
        if line_number % 10000 == 0:
            print(f"已处理 {line_number} 行")
        
        # 这里可以添加更多的处理逻辑

5. 常见文本处理技巧

文件内容处理示例

代码语言:javascript
复制
# 读取文件并做各种处理
with open('data.txt', 'r') as file:
    # 读取所有行并去除换行符
    lines = [line.strip() for line in file.readlines()]
    
    # 过滤空行
    non_empty_lines = [line for line in lines if line]
    
    # 统计行数
    line_count = len(non_empty_lines)
    
    # 将所有内容转为大写
    uppercase_lines = [line.upper() for line in non_empty_lines]
    
    # 查找包含特定关键词的行
    keyword = 'error'
    error_lines = [line for line in non_empty_lines if keyword in line]
    
    # 将处理结果写入新文件
    with open('processed_data.txt', 'w') as output:
        output.write(f"文件共 {line_count} 行内容\n")
        output.write(f"其中包含关键词 '{keyword}' 的行有 {len(error_lines)} 行\n\n")
        output.write("\n".join(uppercase_lines))

6. 最佳实践和错误处理

文件操作最佳实践:

  • 始终使用with语句确保文件正确关闭
  • 明确指定文件编码(推荐UTF-8)
  • 处理大文件时使用迭代逐行读取
  • 检查文件路径是否存在
  • 处理可能的IO异常

错误处理示例:

代码语言:javascript
复制
import os

file_path = 'important_data.txt'

try:
    # 检查文件是否存在
    if not os.path.exists(file_path):
        raise FileNotFoundError(f"文件 {file_path} 不存在")
    
    # 安全打开文件
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
        # 处理文件内容...
        
except FileNotFoundError as e:
    print(f"错误:{e}")
except IOError as e:
    print(f"文件读写错误:{e}")
except Exception as e:
    print(f"发生未知错误:{e}")
else:
    print("文件处理成功!")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 打开和关闭文件
    • 基本文件操作模式:
    • 示例:安全打开文件
  • 2. 读取文件内容
    • read() - 读取整个文件
    • readline() - 逐行读取
    • readlines() - 读取所有行到列表
  • 3. 写入和追加内容
    • 写入模式 ('w')
    • 追加模式 ('a')
  • 4. 处理大型文本文件
  • 5. 常见文本处理技巧
    • 文件内容处理示例
  • 6. 最佳实践和错误处理
    • 文件操作最佳实践:
    • 错误处理示例:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档