6.1.1 文件的打开(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 21页
| 167人阅读
| 9人下载
普通

内容正文:

任务6.1 文件操作 记账本 6.1 文件操作——记账本 【任务描述】 小T想编写一个电子记账本,功能类似银行账单,用户可以录入收入、支出及对应备注,并查询账单,了解详情。程序根据用户录入数据,生成包含日期、收入、支出、余额、备注等信息的记录并写入文件进行保存,能够读取文件内容以便用户查询。 6.1 文件操作——记账本 【任务分析】 根据任务需求,完成该任务需要对文件进行读写操作,实现对数据的记录。 (1)写入数据,将收支数据以适当的数据格式写入文件。 (2)读取数据,读取文件内容获取收支数据并参与计算。 (3)模块化设计,根据不同的功能,细分多个模块并实现相应功能。 6.1 文件操作——记账本 6.1.1 文件的打开 6.1.2 文件的关闭 6.1.3 文件的读写操作 6.1.4 文件的定位读写 6.1.5 任务实现——电子记账本 6.1.1 文件的打开 1.文件的类型 文本文件和二进制文件。 文本文件:以单一特定字符编码形式存储数据的文件。如ASCII码、UTF-8编码等。 二进制文件:没有统一的字符编码,按照预定义的格式组织数据。如可执行程序、图片、音频等文件。 6.1.1 文件的打开 根据数据的逻辑存储结构,文件可分为文本文件和二进制文件。文本文件是指以单一特定字符编码形式存储数据的文件。如按照UTF-8编码格式组织的文件。我们常见的.txt文档,.py的python源代码文件都是文本文件。 二进制文件:没有统一的字符编码,按照预定义的格式组织数据。如可执行程序、图形、图像、声音等文件都是二进制文件。 文件的操作 文件处理三步骤: 打开——>操作——>关闭 文件打开和关闭是使文件在存储状态和占用状态之间转化 2.文件的打开 文件存储状态 文件占用状态 打开 关闭 6.1.1 文件的打开 python程序文件操作可分为三个步骤:打开、操作、关闭。 文件保存在电脑上为存储状态,程序通过打开操作将文件转为占用状态,就可以对文件进行排他性操作,操作完毕,关闭文件,文件状态转换为存储状态。因此,文件操作前要打开,操作后要关闭。 open函数调用成功会返回一个文件对象 file:文件的路径和名称,与源文件同目录可省略路径 mode:为文件的打开模式 例: f = open(file[,mode]) f = open('test.txt','r') 6.1.1 文件的打开 文件打开使用内置函数open,file为文件的路径和名称,mode为为文件的打开模式。下面这个示例就是以只读方式打开了当前目录下的test.txt文件。这里要注意的是,文件路径和名称,打开模式都必须打上引号。 表6-1 文件访问模式 打开模式 含义 r 只读模式,默认值,若文件不存在则返回FileNotFoundError w 写入模式,如果文件不存在则会创建新文件,文件存在则被覆盖。 a 追加模式,如果文件不存在则会创建新文件,文件存在则文件最后追加写入。 x 创建模式,如果文件不存在则会创建新文件,文件存在则返回FileExistsError t 以文本模式打开,默认模式。 b 以二进制模式打开。 + 与r/w/a/x组合使用,在原功能基础上增加读写功能。如“r+” 6.1.1 文件的打开 r、w、a、x是四种与读写相关的模式,b、t是与打开格式相关的模式,+表示增加功能,与r/w/a/x组合使用,在原功能基础上增加读写功能。 6.1.1 文件的打开 提示: r、w、a、x表示四种与读写相关的模式;b、t是与打开格式相关的模式;+表示增加功能,与r、w、a、x组合使用,在原功能的基础上增加读写功能。这些字符单独或组合使用表示不同类型文件的不同访问模式,比如: (1)r+ 表示以读写模式打开。 (2)rb表示以二进制读模式打开。 (3)rb+表示以二进制读写模式打开。 打开模式示例: f = open('test.txt') 只读模式,文本模式,默认值 f = open('test.txt','w') 写入模式,文本模式 f = open('test.txt','rb') 二进制读模式打开 f = open('test.txt','rb+') 以二进制读写模式打开 f = open('test.txt','wb+') 以二进制读写模式打开,文件存在则覆盖,不存在则创建 6.1.1 文件的打开 文件的操作 当使用open()函数打开文件时,如果文件中有中文字符,则有时会出现解码错误的问题,这是因为文件编码和解码方式不一致。在这种情况下,需要根据文件的编码方式,通过指定encoding类别的方式读取文件。 3.编码格式 6.1.1 文件的打开 file = open('test.txt','r',encoding='utf-8') python程序文件操作可分为三个步骤:打开、操作、关闭。 文件保存在电脑上为存储状态,程序通过打开操作将文件转为占用状态,就可以对文件进行排他性操作,操作完毕,关闭文件,文件状态转换为存储状态。因此,文件操作前要打开,操作后要关闭。 4.文件路径 绝对路径:path='d:\\works\\test.txt' path=r'd:\works\test.txt' # 避免转义 或 path=R'd:\works\test.txt' 相对路径: ./ # 当前工作路径下 ../ # 返回父目录 file = open(r'd:\works\test.txt','r') 6.1.1 文件的打开 文件路径可以使用绝对路径和相对路径,需要注意的是,在Windows系统中,文件路径使用反斜杠(\)而不是斜杠(/)。反斜杠在python中是转义字符,不能直接使用,可用双反斜杠(\\)表示。为了确保万无一失,更安全的方法是以原始字符串方式指定路径, 即学即答: 若要以追加模式打开一个二进制文件,则应将open()函数中打开模式的参数设置为( )。 A.r B.w C.wb D.ab 6.1.1 文件的打开 6.1.2 文件的关闭 文件对象.close() 6.1.2 文件的关闭 1.文件的关闭 在使用内置函数open()成功打开文件并完成操作之后,如果不再使用该文件,则需要及时地关闭文件,并释放文件对象,否则一旦程序崩溃,很可能导致文件数据丢失。在Python中,可以通过调用文件对象的close()方法来关闭文件,其语法格式如下: 文件打开使用内置函数open,file为文件的路径和名称,mode为为文件的打开模式。下面这个示例就是以只读方式打开了当前目录下的test.txt文件。这里要注意的是,文件路径和名称,打开模式都必须打上引号。 6.1.2 文件的关闭 【例6-1】文件的打开与关闭。 #打开test.txt文件 file = open(‘test.txt’,’w’) #关闭这个文件 file.close() 文件使用完毕,需要及时地关闭文件,释放文件对象,否则一旦程序崩溃,很可能导致文件数据丢失。在Python中,可以通过调用文件对象的close方法来关闭文件。 6.1.2 文件的关闭 try: f = open('test.txt', 'w') #文件操作 finally: f.close() try ... finally语句实现文件的打开和关闭: 由于文件读写时都有可能产生IOError,一旦出错,后面的file.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,可以使用try ... finally语句来实现文件的打开和关闭, with open( file[,mode]) as f: 代码块 6.1.2 文件的关闭 2.上下文管理语句with…as Python还提供了一种叫作上下文管理器的with …as语句,可以自动释放资源,包括关闭文件,其语法格式如下: 其中,f为文件对象。使用with…as操作打开的文件,无论程序是否抛出异常,都能保证在with…as语句执行完毕时自动关闭已经打开的文件。 文件打开使用内置函数open,file为文件的路径和名称,mode为为文件的打开模式。下面这个示例就是以只读方式打开了当前目录下的test.txt文件。这里要注意的是,文件路径和名称,打开模式都必须打上引号。 6.1.2 文件的关闭 例: #打开test.txt文件 with open('test.txt','r') as f: 文件的操作 文件使用完毕,需要及时地关闭文件,释放文件对象,否则一旦程序崩溃,很可能导致文件数据丢失。在Python中,可以通过调用文件对象的close方法来关闭文件。 6.1.2 文件的关闭 1.文件操作中的访问模式a代表?( )。 A.只读 B.写入 C.追加 D.不存在该模式 2.要以二进制模式读取文件应使用那种访问模式?( ) A.r B.+ C.w D.c 3.以下选项中,不是Python文件打开的合法模式组合是( ) A. br+ B.r+ C.wr D.bw 即学即答: $$

资源预览图

6.1.1  文件的打开(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
6.1.1  文件的打开(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
6.1.1  文件的打开(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
6.1.1  文件的打开(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
6.1.1  文件的打开(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
6.1.1  文件的打开(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。