各类网站网站建设的目标是什么意思wordpress主题HaoWa
2026/6/1 12:19:37 网站建设 项目流程
各类网站网站建设的目标是什么意思,wordpress主题HaoWa,wordpress相关文章小工具,微信小程序网站建设Python 读取 txt 文件是最基础的文件操作之一#xff0c;核心通过内置的open()函数实现#xff0c;配合不同的读取方法可适配小文件、大文件、按行读取、按字节读取等不同场景。本文从基础到进阶#xff0c;结合实例讲解所有常用方法。一、核心基础#xff1a;open()函数与…Python 读取 txt 文件是最基础的文件操作之一核心通过内置的open()函数实现配合不同的读取方法可适配小文件、大文件、按行读取、按字节读取等不同场景。本文从基础到进阶结合实例讲解所有常用方法。一、核心基础open()函数与文件打开模式1.open()函数的基本参数pythonopen(file, moder, encodingNone)参数说明file文件路径相对路径相对于当前 Python 脚本的路径绝对路径完整路径mode打开模式默认r只读模式常用模式见下表encoding文件编码格式推荐显式指定如utf-8、gbk避免乱码2. 常用文件打开模式模式作用r只读模式默认文件不存在则报错r读写模式文件不存在则报错rb二进制只读模式用于非文本文件如图片、视频无需指定 encodinga追加模式文件不存在则创建w写入模式文件不存在则创建存在则清空原有内容3. 关键使用with语句推荐with语句会自动关闭文件避免因忘记调用close()导致的资源泄漏是 Python 读取文件的最佳实践。python# 基本结构 with open(test.txt, r, encodingutf-8) as f: # 读取文件的操作 content f.read()二、常用读取方法按场景分类先准备一个测试文件test.txt内容如下plaintextPython读取txt文件 这是第2行内容 Hello World! 这是最后一行场景 1小文件 → 一次性读取整个文件read()适合文件体积小几 KB~ 几十 KB需要一次性获取所有内容的场景。python# 读取整个文件 with open(test.txt, r, encodingutf-8) as f: content f.read() # 返回字符串包含所有内容包括换行符\n print(文件全部内容) print(content)输出结果plaintext文件全部内容 Python读取txt文件 这是第2行内容 Hello World! 这是最后一行场景 2中等文件 → 读取所有行到列表readlines()将文件的每一行作为列表的一个元素方便后续通过索引、切片处理行数据。pythonwith open(test.txt, r, encodingutf-8) as f: lines f.readlines() # 返回列表每个元素是一行内容包含换行符\n print(文件的行列表, lines) print(第2行内容, lines[1].strip()) # strip()去掉换行符和首尾空格输出结果plaintext文件的行列表 [Python读取txt文件\n, 这是第2行内容\n, Hello World!\n, 这是最后一行] 第2行内容 这是第2行内容场景 3任意文件 → 逐行读取for循环遍历文件对象推荐这是最高效、最内存友好的方式逐行读取不一次性加载整个文件适合所有场景尤其是大文件。pythonwith open(test.txt, r, encodingutf-8) as f: print(逐行读取文件) for line in f: # 直接遍历文件对象每次返回一行 print(line.strip()) # strip()去除换行符和多余空格输出结果plaintext逐行读取文件 Python读取txt文件 这是第2行内容 Hello World! 这是最后一行场景 4精准控制 → 按字节 / 字符读取read(n)read(n)可指定读取的字符数文本模式或字节数二进制模式适合需要分段读取的场景。pythonwith open(test.txt, r, encodingutf-8) as f: content1 f.read(6) # 读取前6个字符 print(前6个字符, content1) content2 f.read(3) # 从当前位置继续读取3个字符 print(后续3个字符, content2)输出结果plaintext前6个字符Python 后续3个字符读取t场景 5逐行读取readline()每次调用readline()读取一行直到返回空字符串文件结束适合需要手动控制读取进度的场景。pythonwith open(test.txt, r, encodingutf-8) as f: line1 f.readline() # 读取第一行 line2 f.readline() # 读取第二行 print(第一行, line1.strip()) print(第二行, line2.strip())输出结果plaintext第一行Python读取txt文件 第二行这是第2行内容三、进阶场景处理1. 处理大文件GB 级大文件的核心是逐行读取避免一次性加载到内存使用for循环遍历文件对象即可python# 读取GB级大文件逐行处理 with open(big_file.txt, r, encodingutf-8) as f: for line in f: # 处理每一行如统计行数、提取关键信息 pass2. 处理不同编码的 txt 文件Windows 系统下的 txt 文件常使用gbk/gb2312编码Linux/Mac 下多为utf-8若编码不匹配会报UnicodeDecodeError需显式指定编码python# 读取GBK编码的文件 with open(gbk_file.txt, r, encodinggbk) as f: content f.read() print(content) # 读取带BOM的UTF-8文件Windows记事本保存的UTF-8文件常带BOM with open(utf8_bom_file.txt, r, encodingutf-8-sig) as f: content f.read() print(content)3. 二进制模式读取rb用于读取非文本文件如图片、视频或需要处理字节数据的场景pythonwith open(test.txt, rb) as f: content f.read() # 返回字节串bytes print(二进制内容, content) # 转换为字符串需指定编码 print(转换为字符串, content.decode(utf-8))四、常见问题与解决方法问题 1FileNotFoundError文件不存在解决检查文件路径是否正确相对路径是否相对于当前脚本绝对路径是否完整。问题 2UnicodeDecodeError编码错误解决显式指定正确的编码如utf-8、gbk、utf-8-sig。问题 3读取的内容有多余的换行符 / 空格解决使用strip()去除首尾空格和换行符、rstrip(\n)仅去除换行符。问题 4文件权限不足PermissionError解决检查文件的读写权限确保当前用户有读取权限。五、总结方法选择建议场景推荐方法优点小文件100KBread()一次性读取简单快捷中等文件100KB~1MBreadlines()读取到列表方便后续行处理大文件1MBfor循环遍历文件对象逐行读取内存友好、效率高精准分段读取read(n)灵活控制读取量核心原则优先使用with语句避免资源泄漏大文件必用逐行读取避免内存溢出。掌握这些方法就能处理所有 txt 文件的读取需求。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询