内容正文:
项目13 Python基本文件操作
编程基础——Python语言 /// ///
请编写一个程序,读取图书信息文件,输出全部该图书的相关信息:输入图书名称(部分名称即可),查看该图书是否包含在文件里面,如果包含,则输出该图书的相关信息。
任务25 计算机图书资料库——打开和读取文件
任务描述
任务分析
利用Python内置open( )函数打开图书信息文件,使用while循环语句循环使用readline方法以读取每一行信息,实现显示全部图书信息的功能。
编程基础——Python语言 /// ///
知识准备
文件是指一组相关数据的有序集合。实际上,在前面的内容中我们已经多次使用了文件,如源程序文件、目标文件、可执行文件、库文件(头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存以供使用。从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。
ASCII文件也称文本文件,这种文件在磁盘中存放时每个字符对应1字节,用于存放对应的ASCII码。例如,字符串“1234”在磁盘上的存储形式是31H、32H、33H、34H这4个字符,既“1”“2”“3”“4”的ASCII码,在Windows的记事本程序中输入“1234”后保存为一个文件,就可以看到该文件在磁盘中占4字节,打开此文件后可以看到“1234”字符串。ASCII码文件可在屏幕上按字符显示,因为每个字符对应其ASCII码,每个ASCII码的二进制数都被解释为一个可见字符。ASCII码文件很多,如源程序文件就是ASCII码文件,用DOS命令“TYPE”可显示文件的内容。
5.1 文件概述
编程基础——Python语言 /// ///
1.打开文本文件
open( )函数用来打开文件,其调用的形式为:
5.2 文件的打开与关闭
文件对象=open(文件名,文件打开方式)
其中,“文件对象”是一个Python对象,open( )函数是打开文件的函数,“文件名”是被打开文件的文件名字符串,“文件打开方式”是指文件的类型和操作要求。
2.关闭文本文件
文件对象.close( )
其中,“文件对象”是用open( )函数打开后返回的对象。
编程基础——Python语言 /// ///
3.文件操作的异常
文件操作时一般要处理异常,打开一个文件时若文件不存在,则会出现错误:
f=open("c:\\abc.txt","rt")
s=f.read( )
f.close( )
如果c:\abc.txt文件不存在,那么就会出现异常。文件操作属于I/O操作,I/O操作中可能因为I/O设备的原因造成操作不正确,因此I/O操作一般建议使用try语句以捕获可能发生的错误。
try:
f=open("c:\\abc.txt","rt")
s=f.read( )
f.close( )
except:
print("文件打开失败")
编程基础——Python语言 /// ///
1.读取字符的函数read( )
read( )函数的功能是从指定的文件中读取字符,函数调用的形式为:
5.3 读取文本文件
文件对象.read( )
文件对象.read(n)
对于read( )函数的使用有以下几点说明。
(1)在使用read( )函数从指定的文件中读取字符时,文件必须是已经以只读方式打开的文件。
(2)在文件内部有一个文件指针,用来指向当前正在读取的字符,在打开文件时,该文件指针总是指向文件的第一个字符。使用read( )函数后,该文件指针将向后移动一个字符,每读取一个字符,该文件指针就向后移动一个字符,因此可连续多次使用read( )函数以读取多个字符。
编程基础——Python语言 /// ///
(3)如果不指定要读取的字符数n,则在使用read( )函数读取字符时,读取整个文件的内容; 如果使用read(n)指定要读取的字符数,则按要求读取n个字符; 如果要读取n个字符,而文件没有那么多的字符时,那么就读取整个文件的内容。
(4)如果文件指针已经到达文件的尾部,再读取时就会返回一个空串。
在读取模式下,如果新行符为None,那么就作为通用换行符模式工作,即
、\r或\r
都可以作为换行标识,并且统一转换为
。当设置为空时,也以通用换行符模式工作,但不转换为
。
2.读取一行字符串的函数readline( )
如果要从文件中读取一行字符串,那么函数调用的形式为:
文件对象.readline( )
编程基础——Python语言 /// ///
规则如下。
(1)readline( )函数返回一行字符串。它的规则是在文件中连续读取字符并组成字