当前位置: 首页 > news >正文

python文件处理笔记之文本文件

文本文件具备初步存放、编辑各类数据的能力,并可以持久保留和数据共享。

1. 建立文件

建立文本文件有两种途径:一是通过Windows的“记事本”工具创建一个扩展名为“.txt”的文件,然后供程序调用。二是通过程序自动建立新文件。

1.1 文本文件代码实现

1

2

3

4

newfile="g:\\t1.txt"#定义需要建立的文本名称和路径

b_new_file=open(newfile,"w")#用open函数建立一个新的文本文件

b_new_file.close()#关闭文件

print("%s成功建立!"%newfile)

效果:

1.2 代码编写分析

文本文件的名称

(1)文本名称,命名要符合命名内容,一般情况下以英文字母、数字、汉字开头的易于阅读的字符串组合。不能使用星号(*)等特殊符号开头的命名。

(2)文本名称是一个字符串,命名过程中需要考虑到转义符号对路径或名称的影响。如:“g:\t1.txt”中的“\t”本身就是一个横向制表符,如果用“g:\t1.txt”就会出错。另一种解决字符串转义符的方法是在字符串前加原始字符串限制符号(原生字符r或R)可以原样输出r“g:\t1.txt”。

(3)指定路径必须设置(在不同的解释器中,对于路径的设置有区别)

用open函数建立(打开)文件

open函数属于系统内置函数,支持对字符串或二进制文件的打开操作,返回可操作的文件对象。

使用格式:

open(file,mode=“w”)

file参数用于指定需要操作的文件名(可以同时只当文件路径);mode参数用于指定需要操作的方式。

r、w、x、a为打开文件的基本模式,对应这只读、只写、新建、追加四种打开方式;b、t、+、U与基本模式组合使用,对应二进制、文本、读写、通用换行符四种模式。

mode默认值为“rt”模式,意味着对文本文件进行读操作。目前,mode值常见可以组合的方式为“rb"、”wb“、”xb“、”ab“、”rt“、”wt“、”xt“、”at“、”r+“、”w+“、”x+“、”a+“。

用b_new_file.close()方法把新建立的文件关闭

如果不关闭新建立的文本文件,则打开的文件对象一直留存在内存中,如果打开的文件多了,容易出现内存溢出等错误。

2. 基本的读写文件

打开文本文件后,可以对文件进行基本的读写操作。

2.1 用文件对象write(s)方法写内容

f.write(s),f代表可写方式打开文件对象;s为将要写入文件的内容,write()方法把s内容写入文件f后,返回写入的字节数。

1

2

3

4

5

newfile="g:\\t1.txt"#定义需要建立的文本名称和路径

b_new_file=open(newfile,"w")#用open函数建立一个新的文本文件

t_n=b_new_file.write("l like python!")#用文件对象write()方法写字符串

b_new_file.close()#关闭文件

print("往文件里写入%d字节内容"%t_n)

效果:

”w“模式打开的文本文件,在写入内容时,第二次写入的内容会覆盖第一次保存的内容,若要解决此问题,采用”a“模式打开文件。

2.2 用文件对象read()方法读取内容

f.read(size),f代表可读方式打开的文件对象;size为可选参数,若指定读取字节数,则读取指定大小字节的内容,若没有指定,则读取尽可能大的内容。

1

2

3

4

b_new_file=open(newfile,"r")#以只读方式打开文件

tt=b_new_file.read()#用文件对象read()方法读取内容

print(tt)

b_new_file.close()

效果:

2.3 连续用read()方法、write()方法操作文件

1

2

3

4

5

6

b_new_file=open(newfile,"r+")#用open函数建立一个新的文本文件

tt=b_new_file.read()#用文件对象read()方法读取内容

print(tt)

t_n=b_new_file.write("\n三酷猫!^_^")#继续往文件里写入新内容

b_new_file.close()

print("往文件里写入%d字节内容"%t_n)

效果:

注意:不鼓励连续读写操作方法,因为存在读写数据不确定性问题

3. 复杂的读写文件

在基础的读写存在上,可以考虑多行读写的操作。

1、一次写入多行

1

2

3

4

5

6

nums=["one","two","three","four","five","six","seven"]

t=open(r"g:\t2.txt","a")#追加打开文件

forget_oneinnums:

t.write(get_one+"\n")#将每个元素循环写入文件,行末加\n

t.close()

print("连续写入完成")

效果:

2、一次读一行

f.readline(s),f代表以可读模式打开的文件;s为可选参数,若设置指定大小的字节,则返回相应大小的字符串,若没有设定,则以行单位返回字符串。

1

2

3

4

5

t1=open(r"g:/t2.txt","r")

dd=1

whiledd:

dd=t1.readline()#一次读一行

print(dd.strip())#strip()去除字符串两端的空字符

效果:

3、以列表格式读取多行

1

2

3

t1=open(r"g:/t2.txt","r")

t_s=t1.readlines()#以列表格式读取多行

print(t_s)

效果:

4、连续读特定字节数量的内容

1

2

3

4

5

f=open(r"g:/t2.txt","r")

print(f.readline(2))#读取文件头2个字节

print(f.readline())#继续读取同一行,剩余字节

print(f.read(4))#继续读取4个字节

print(f.read(4))

效果:

5、在指定位置读内容

5.1 f.tell(),f代表打开的文件,tell()方法返回当前文件可以写入读写的位置(字节数)

1

2

3

4

5

6

7

8

f=open(r"g:/t2.txt","r")

print(f.readline(2))#读取文件头2个字节

print(f.readline())#继续读取同一行,剩余字节

print(f.read(4))#继续读取4个字节

print(f.read(4))

print(f.tell())#获取执行上述操作后的当前位置

print(f.read(1))

print(f.tell())

效果:

5.2 f.seek(offset[,whence]) f代表以打开的文件,seek()方法重新指定将要读写的当前位置。offset参数设置位置的偏移量的字节数,whence参数可选,确定文件起计位置,默认值为SEEK_SET(或0),代表从文件大的开始位置+偏移量来确定当前位置;SEEK_SET(或1),代表当前位置起计;SEEK_END(或2),代表从文件的结尾起计。

http://www.jsqmd.com/news/696384/

相关文章:

  • Primus-Pipeline:更灵活、可扩展的流水线并行实现
  • 终于找到了!新手导演制作微电影专用的AI工具,即梦Seedance 2.0让我直接起飞
  • 本土化再定义:从产品适配到系统共生的产业竞争升维
  • 毕设项目 stm32 RFID智能仓库管理系统(源码+硬件+论文)
  • 小白必看!零技术、零代码,用Open Claw 1688接口搞定选品监控
  • 2026年比较好的金属箱包验厂咨询/ISO45001企业体系认证验厂咨询/工艺品验厂咨询综合评价公司 - 行业平台推荐
  • 无锡佳钛合不锈钢有限公司三通的焊接工艺
  • Real Anime Z新手教程:Streamlit界面操作全流程(含路径校验与错误日志解读)
  • 智能体开发实战分享:利用 “_think“ 模式低成本模拟大模型“深度思考”
  • Python文件的操作处理详解
  • 智能导游中的路线规划与讲解服务
  • 个人第一篇博客
  • 2026年3月目前诚信的酒精厂商选哪家,回收废乙醇/酒精/回收异丙醇/回收废酒精/回收酒精/乙醇,酒精生产厂家找哪家 - 品牌推荐师
  • 从云端到 AIPC:深度拆解 4 类本地化 AI 模式,构建安全可控的私有知识库
  • 机器学习算法核心原理与应用实践
  • 【重磅喜报】社区项目硬件AI开发工具aily blockly获数百万种子投资
  • AI时代产品经理的工作流重构
  • 2026年植物精粹科技活酿人参酒深度解析及权威榜单发布
  • 小白也能轻松上手:DDColor黑白修复ComfyUI指南
  • 终极指南:如何使用League Akari免费提升英雄联盟游戏体验
  • 2026锦江区香奈儿奢品回收机构推荐榜:四川名表保养维修价格电话、四川名表保养维修服务电话、四川名表保养维修门店电话选择指南 - 优质品牌商家
  • 2026年知名的海水蝶阀/浙江超低温蝶阀/耐腐蚀蝶阀/船用蝶阀实力工厂推荐 - 行业平台推荐
  • 3dsconv终极教程:5步轻松实现3DS游戏格式转换的完整指南
  • MedGemma-X在教学查房中的应用:AI实时生成鉴别诊断思维导图
  • Phi-mini-MoE-instruct实战教程:API模式(POST /v1/chat/completions)调用示例
  • YOLOv11-seg改进系列 | 基于原创C3k2_CaFormerCGLU模块,自注意力Token Mixer叠加卷积门控FFN,复杂场景分割更稳
  • 2026年口碑好的宁波浸树脂石墨密封件/压缩机石墨密封件/高温高压耐磨石墨密封件主流厂家对比评测 - 品牌宣传支持者
  • XPack-MCP-Marketplace:AI时代的“应用商店”,一键部署与管理MCP服务
  • Flux2-Klein-9B-True-V2文生图教程:电影级打光提示词(伦勃朗/蝴蝶光)
  • 为什么孩子要先学盲打再提速?科学打字训练方法应该是怎样的?