基本信息
文件名称:Python编程基础(第3版)(微课版)课件 7.2 读写TXT文件(二).pptx
文件大小:293.7 KB
总页数:19 页
更新时间:2025-05-27
总字数:约1.57千字
文档摘要

读写TXT文件;;在读取文件时,通常需要检查文件中的每一行,可能需要在文件中查找特定的信息,或需要以某种方式修改文件中的文本。此时可以对文件对象使用for循环,代码如下。;在上面的代码中,将需要读取的文件名赋值给file_name变量是为了方便修改文件名与路径,这是使用文件时常见的做法。

但是运行结果中出现了很多空白行,空白行出现的原因是:在science.txt文档的每行末尾都有一个隐藏的换行符,print函数也给输出的数据加上了换行符。

如果要消除换行符,那么可以使用rstrip函数删除字符串末尾的指定字符(默认为空格),代码如下。

与rstrip函数相关联的是lstrip函数(删除字符串前面的指定字符)和strip函数(删除字符串首尾两端的指定字符)。;创建含有文件数据的列表;虽然read函数可用于读取整个文件的内容,但是读取的内容将被存储到数据类型是字符串的变量中,代码如下。;如果需要将读取的文件内容存储到一个列表里,可以使用readlines函数。

该函数可以实现按行读取整个文件的内容,并将读取的内容存储到一个列表里,代码如下。

;为了使readlines函数存储的列表能够被正常输出,可以使用for循环,代码如下。

;此外,Python还提供了readline函数,此函数可以对文件进行逐行读取并将读取到的一行内容存储到一个字符串变量中,返回字符串型数据,代码如下。

因为readline函数实现的是逐行读取,所以在读取整个文件时,速度会比readlines函数的速度慢。当没有足够内存读取整个文件时,可以使用readline函数。

;;在Python的open函数中,标识符可指定文件打开模式,如果需要将数据写入文件,那么需要将标识符设置为w。

如果要写入的文件不存在,那么open函数将自动创建文件。需要注意的是,如果文件已经存在,那么当以写入模式写入文件时程序会先清空对应文件,代码如下。

;需要注意的是,标识符w和wb分别表示写入文本文件和写入二进制文件(在r后面添加b表示读取二进制数据)。如果需要将数值型数据写入文本文件,那么必须先用str函数将数值型数据转换为字符串格式,代码如下。

;需要注意的是,在写入多行数据时,write函数不会自动添加换行符(\n),此时会出现几行数据排在一行的情况,代码如下。

;为了将行与行的数据进行区分,需要在write函数内添加换行符,代码如下。

;在反复调用write函数将数据写入文件之后,务必调用close函数来关闭文件。在将数据写入文件的过程中,操作系统往往不会立刻将数据写入磁盘,而是将数据放到内存中存储起来,在空闲的时候再慢慢写入。只有调用close函数时,操作系统才会保证将没有写入的数据全部写入磁盘。

忘记调用close函数可能会导致操作系统出现只写入一部分数据到磁盘,而剩余数据丢失的情况。当使用with语句写入文件时,with语句获取了应用上下文,并可以在结束时自动调用close函数来关闭文件,在一定程度上避免了数据读写时造成的数据丢失。使用with语句将数据写入TXT文件,代码如下。

;要写入特定编码的文本文件,需要给open函数传入encoding参数,将字符串自动转换成特定编码。open函数默认encoding参数值为UTF-8。

要读取非UTF-8编码的文本文件,如读取GBK编码的文件,需要给open函数传入encoding参数,代码如下。

;当编写代码时,如果需要给文件添加内容,但不覆盖文件原内容,那么需要以附加模式(a)打开文件,此时写入的内容会附加到文件末尾,而不会覆盖原内容,代码如下。

上面的代码可实现将两行字符串附加到文件末尾的效果,文件效果如下图。

;;【任务7-1】读取content.txt文件中的数据