尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Python第七十二讲 文件操作全套精讲 读写TXT 创建文件 追加内容

Python第七十二讲 文件操作全套精讲 读写TXT 创建文件 追加内容 在前面我们所完成的学习过程当中, 之前我们已经学习且掌握了所有内容基础语法以及四大数据容器还有综合实战项目这些知识点。从此刻起, 我们便正式地、毫无保留地踏入了自动化核心技能领域中的一个重要分支, 那就是针对文件的操作与维护相关工作。所有的自动化程序、爬虫工具、数据分析方法、办公脚本, 在最后一步都要落到实际应用中。将数据保存到本地文件里头, 并且去读取保存在本地文件里的数据。本节课可以让你一次性彻底弄清楚文件打开、文件读取、文件写入、文件追加、自动创建、编码问题, 还有安全关闭这一系列操作, 就算是零基础也没有门槛, 整个教程的内容都是可以直接运行的。一、文件操作核心流程永远不变操作文件的流程, 严格来说只由四个固定的步骤组成:1. 打开文件 open()2. 进行数据的读取操作, 以及执行数据的写入操作。3. 将文件进行关闭操作, 调用close这个功能。4. 处理数据核心万能语法调用open函数, 把文件路径、操作模式传递进去, 等于号后面写上utf-8编码。三大必记参数1. 文件路径, 要么是相对路径, 要么是绝对路径, 这个概念需要弄清楚。2. 操作模式包括 r、w 和 a, 其中这三个是其中最核心的部分。3. 编码这一项参数必须明确写成 utf-8, 这样就能够彻底地解决中文乱码的问题。二、三大核心操作模式死记够用一辈子这个模式, 它的含义是什么, 还有它的主要特点是啥。r read 这个模式表示只读, 它是默认的打开方式, 如果文件不存在的话会直接报错。w这种写入模式表示进行覆盖式的操作, 也就是它会先把文件里面原本有的全部内容一下子全都清空掉, 然后再把新的内容写进去, 要是这个文件本来就不存在的话, 系统就会自动地去创建一个新文件出来。a 这个模式叫做追加写入, 意思是在文件的最后面把新的内容加进去, 这样做不会去覆盖原来文件里已经存在的内容, 同时如果那个文件根本就不存在的话, 系统它会自动地创建一个文件出来。在你的工作岗位中, 百分九十九的工作情景里面, 你只需要使用这3种操作模式就可以了。三、模式1采取的是r这种读取文件操作, 意思就是读数据。1. 进行这个 read()操作, 用来将里面所包含的全部的内容都给读取出来并得到。# 只读模式读取文件f open(test.txt, r, utf-8) f.read()print()f.close()2. () 读取一行适合去读取那些个头特别大的文件, 这样可以避免出现需要把里面的所有全部内容一次性全部都加载到内存里面去了的情况。f open(test.txt, r, utf-8)line1 f.()第二行的内容是, 让等于f函数的执行结果。print(line1)输出 line2 这个变量的内容。f.close()3. 从文件中读取所有的行, 最后得到一个列表, 供用户直接使用。这是针对每一行数据进行批量操作的时候最应该选择的那个办法。f open(test.txt, r, utf-8)lines f.()打印lines这个变量的值, 其中每一行都是列表里面的一个元素。f.close()四、模式2的情况是w覆盖写入, 这个操作既可以用于新建文件, 也可以用于重写已经存在的文件。在打开的瞬间, 会将原本拥有的所有东西全部清空, 然后接着重新写入新的数据内容。# 覆盖写入f open(.txt, w, utf-8)f.执行写入操作, 输出内容是Hello并加上一个换行符。f.write(文件写入测试成功)f.close()文件不存在 → 自动创建新文件文件已经存在了, 我们需要把所有的内容全部清空掉, 之后再去重新进行书写操作。五、模式编号三是字母a表示追加写入, 这种操作的意思是不去覆盖原有的内容, 并且这个功能在使用的时候是最常见的。在工作的过程中, 频率最高的情况是要记录日志、保存流水以及累积数据, 这些操作全部都是使用 a 模式来完成的。# 追加写入打开一个名为点txt的文件, 设置编码为utf-8, 打开方式为追加。f.write添加空行后继续写入, 表明现在要增加一条数据记录, 具体内容为二零二六年学习f.close()特点- 保留原有所有内容- 新内容写在文件末尾- 不会丢失历史数据六、超级推荐的做法是使用 with 语句来实现文件的自动关闭, 这种做法被很多企业当作标准的编写规范来进行使用。新手最容易掉进去的坑就是忘记了调用close()这个方法, 这样做会导致文件被占用, 还会造成数据丢失的情况发生。利用这个 with 语句, 能够让代码在结束之后自动去关闭文件, 这样一来就不用再手动去写 close() 函数了。在工作开发过程中, 所有相关事项都应当统一遵循这一规范。with 读取文件用只读的方式去打开文件叫test.txt, 并且编码是utf-8, 然后把得到的文件对象赋值给f。 f.read()print()使用with语句来执行向文件中写入数据的操作。打开文件, 文件名是点加上txt, 开启写的方式, 编码设为utf8, 用f来代表这个文件。f.write(企业开发标准文件写法)七、帮助初学的人解决总是会出现麻烦的问题, 也就是中文出现乱码。只要操作中文文件必须加 utf-8不加必乱码、报错错误示范用open函数去打开名为“test.txt”的这样一个文件, 并且设置成只读的模式, 这里没有指定参数来指明编码格式呢, 就会导致读取出来的中文内容出现乱码的情况。正确示范f open(test.txt, r, utf-8)八、这是一个实战的小项目, 这个项目的作用是进行待办任务的自动保存。参考在上一次课程中学习过的那份要办的事情的列表把数据进行保存, 让它能够一直留在存储中而不丢失。把正在运行的程序给关掉, 再将电脑重新启动, 里面的各种资料和数据都不会出现丢失的情况。# 写入多条任务先把文件操作这一块的知识给学习清楚, 接着把练习的代码进行书写, 最后还要把相关的笔记内容好好地整理一遍。with open(.txt, a, utf-8) as f:对于任务中的每一个环节。f.把任务加上换行符之后再交给写入程序去执行。把那个任务的内容保存了一下, 然后弹出来了一个消息框, 上面写着“任务保存成功”这几个字。九、本节课核心总结必背1. 文件三模式r读、w覆盖写、a追加写2. 在创建中文文件的时候, 请务必加上等于号和utf-8这个编码标识。3. w 清空重写、 a 末尾追加4. 建议大家最好去使用 with 这句话, 它能自动把文件给关掉, 这样运行起来既安全也不会跳出什么错误提示来。5. 使用read函数可以把所有内容全部读完, 不使用参数只读单行的内容, 传入所有行参数的方式去读取所有的行。十、新手高频避坑1. 当你在使用r模式去读取一个并不存在的文件的时候, 它会导致报错的发生。2. 当采用w模式进行操作时, 它会将原有的内容清除掉, 所以对于重要的数据而言, 在使用这种模式时需要格外谨慎。3. 咱们得把所有写入的内容都弄成字符串的那种格式, 要是碰上什么数字啊或者是列表之类的东西的, 都必须把它们给转换一下才行。4. 要是忘记了进行编码的处理, 就会引发中文出现乱码的错误状况发生。课后作业1. 你要亲手建个文本文件, 然后在里头填上进三段心里头的学习心得。2. 请采用添加的方式来进行处理, 另外再补充两句, 不要对原本存在的内容做出任何覆盖性的改变。3. 通过使用 with 语句这个方式, 去读取整个文件的所有内容, 然后把它打印出来的动作。
返回列表