文件:数据的抽象和集合文件是存储在辅助存储器上的数据序列

文件是数据存储的一种形式

文件展现形态:文本文件和二进制文件

文本文件 VS. 二进制文件文件文件和二进制文件只是文件的展示方式

本质上,所有文件都是二进制形式存储

形式上,所有文件采用两种方式展示

文本文件由单一特定编码组成的文件,如UTF-8编码

由于存在编码,也被看成是存储着的长字符串

适用于例如:.txt文件、.py文件等

二进制文件直接由比特0和1组成,没有统一字符编码

一般存在二进制0和1的组织结构,即文件格式

适用于例如:.png文件、.avi文件等

文件的打开关闭

文件处理的步骤: 打开 - 操作 - 关闭

file_object = open("filename", "openmode")

... #操作

file_object.close()

with open("filename", "openmode") as file_object:

... #操作

filename

openmode

打开模式

openmodedetails'r'只读模式,默认值,如果文件不存在,返回FileNotFoundError'w'覆盖写模式,文件不存在则创建,存在则完全覆盖'x'创建写模式,文件不存在则创建,存在则返回FileExistsError'a'追加写模式,文件不存在则创建,存在则在文件最后追加内容'b'二进制文件模式't'文本文件模式,默认值'+'与r/w/x/a一同使用,在原功能基础上增加同时读写功能

文件内容的读取

operationdetailsf.read(size=-1)读入全部内容,如果给出参数,读入前size长度f.readline(size=-1)读入一行内容,如果给出参数,读入该行前size长度f.readlines(hint=-1)读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行f.write(s)向文件写入一个字符串或字节流f.writelines(lines)将一个元素全为字符串的列表写入文件f.seek(offset)改变当前文件操作指针的位置,offset含义如下:0 – 文件开头; 1 – 当前位置; 2 – 文件结尾

文件的全文本操作

一次读入,统一处理

fo = open(fname,"r")

txt = fo.read()

...#对全文txt进行处理

fo.close()

按数量读入,逐步处理

fo = open(fname,"r")

txt = fo.read(2)

while txt != "":

#对txt进行处理

txt = fo.read(2)

fo.close()

文件的逐行操作

一次读入,分行处理

fo = open(fname,"r")

for line in fo.readlines():

print(line)

fo.close()

分行读入,逐行处理

fo = open(fname,"r")

for line in fo:

print(line)

fo.close()

数据文件的写入

fo = open("output.txt","w+")

ls = ["China", "France", "America"]

fo.writelines(ls)

fo.seek(0)

for line in fo:

print(line)

fo.close()