目录

  • 前言
    • ●  Python解释器安装
    • ●  PyCharm开发环境
  • Python程序设计实验
    • ●  实验1 IDLE与代码编写规范
    • ●  实验2 输入输出与数据类型
    • ●  实验3 字符串处理
    • ●  实验4 数据运算
    • ●  实验5 列表与元组应用
    • ●  实验6 字典与集合应用
    • ●  实验7 if语句与match语句
    • ●  实验8 使用循环语句
    • ●  实验9 异常处理
    • ●  实验10 函数应用
    • ●  实验11 类的应用
    • ●  实验12 模块应用
    • ●  实验13  应用re模块
    • ●  实验14 文件处理
    • ●  实验15 用户界面设计
    • ●  实验18 SQLite数据库应用
    • ●  理论考试模拟试题A
    • ●  理论考试模拟试题B
    • ●  理论考试模拟试题C
    • ●  理论考试模拟试题D
  • 学习参考
    • ●  01 Python及其IDLE环境
    • ●  02 Python代码规范
    • ●  03 常量和变量
    • ●  04 输入输出
    • ●  05 运算符
    • ●  06 数值类型
    • ●  07 字符串
    • ●  08 列表
    • ●  09 元组
    • ●  10 字典
    • ●  11 集合
    • ●  12 条件语句
    • ●  13 循环语句
    • ●  14 异常处理
    • ●  15 自定义函数
    • ●  16 内置函数
    • ●  17 模块导入与定义
    • ●  18 math模块
    • ●  19 os模块
    • ●  20 time模块
    • ●  21 random模块
    • ●  22 文本文件
    • ●  23 二进制文件
    • ●  24 类的创建和使用
    • ●  25 类的继承与多态
 22 文本文件

一、从文本文件中读取数据

读取文本文件中的数据需要三个步骤:

1、打开文件

格式:f=open(file,mode="r")

作用:按mode指定的方式打开file指定的文本文件。open函数返回一个_io.TextIOWrapper对象。如果文件不存在,则会触发FileNotFoundError异常。文件名可包含路径。不包含路径时为当前工作路径。如:f=open("infs.txt")。

特别提示:

mode参数也可取以下值:

(1)"r+"。打开文件后,可以读取数据,也可以将数据写入文件。文件必须存在。

(2)"w+"。打开文件后,可以读取数据,也可以将数据写入文件。文件存在则覆盖;文件不存在则创建。

(3)"a+"。打开文件后,可以读取数据,也可以将数据写入文件(数据只能添加到文件尾)。文件不存在则创建。

2、读取数据

从文本文件读取的数据是字符串。读取数据的主要方法有:

(1)使用read方法

格式:read([size])

作用:从文件当前位置读取size字节。不指定size时读取全部数据。

(2)使用readline方法

格式:readline(size=-1)

作用:从当前位置读取一行数据(size=-1时,包括回车符)。如果size>0,则只读取一行的前size个字符。

(3)使用readlines方法

格式:readlines(hint=-1)

作用:读出所有行(hint=-1时)。返回的是以行为元素的列表。如果hint>0,则仅读取第hint个字符所在行及其前面各行的数据。

(4)使用文件对象(是可迭代对象)。如:

f=open("a.txt")

a=list(f)

f.close( )

3、关闭文件

调用文件对象的close方法即可关闭文件。

特别提示:

(1)也可使用with语句打开文件,这时读取数据后文件会自动关闭,无需调用文件对象的close方法。如:with open("a.txt") as f:d=f.read()

(2)利用seek(offest,0)可以重定位文件读写位置。参数offest指定相对文件开始位置需要移动的字节数。


二、将数据写入文本文件

只能将字符串写入文本文件。基本步骤是:

1、打开文件

格式:f=open(file,mode="w")

作用:打开file指定的文本文件,打开的文件只能写入数据,不能读取数据。如果文件存在,则会清空文件内容。如果文件不存在,则会创建文件。也可将参数mode设置为"a"(追加模式,只能将数据添加到文件尾)、"r+"、"w+"、"a+"。请参考“从文本文件读取数据”的“打开文件”部分。

2、将数据写入文件

可以使用以下方法将数据写入文件:

(1)文件对象的write方法

格式:write(str)

作用:将数据写入文件。str必须是字符串。

示例:f=open("c:\\x.txt","w");f.write("good");f.close()

(2)文件对象的writelines方法

  格式:writelines(line)

作用:将多行数据写入文件。line为行数据组成的列表。

示例:f=open("C:\\x.txt","w");f.writelines(['a\n','b\n','c']);f.close()

(3)print函数

格式:print(*obj,sep=' ',end='\n',file)

作用:在文件对象file上输出obj指定的数据。

示例:f=open("C:\\x.txt","w");print("How are you",file=f);f.close()

3、关闭文件

调用文件对象的close方法即可关闭文件。

特别提示:

(1)也可使用with语句打开文件,这时读取数据后文件会自动关闭,无需调用文件对象的close方法。如:with open("a.txt","w") as f:f.write("good")

(2)利用seek(offest,0)可以重定位文件写入位置。参数offest指定相对文件开始位置需要移动的字节数。