1.文本形式:
根据文件中的组织形式可以划分为:
①文本文件(文本文件存储常规字符串,有若干文本行组成,通常每行使用’\n’结尾。字符串指的是记事本或其他文本编辑器能够正常显示、编辑并且能够被人类直接阅读和理解的字符串)
②二进制文件(把对象内容以字节串(bytes)进行存储 ,无法用记事本或其他普通文件编辑器直接进行编辑,通常也无法被人类直接阅读和理解, 需要使用专门的软件进行解码后读取,显示,修改和执行)
2.文件操作格式:
①文件对象名=open(文件名,[,打开方式[,缓冲区]])
②文件名:需要进行操作的文件,需要相对路径,可以使用原始字符串
③打开方式:有只读®,只写(w),有追加(a),有二进制模式(b),有读写(+),其中二进制模式和读写可以与其他模式组合使用
④文件对象属性:closed(判断文件是否关闭,没有关闭就关闭文件,关闭就返回True),mode(返回文件打开模式),name(返回打开文件名)
#缓冲区:指定了读写文件的缓存模式,0(表示不缓存),1(表示缓存),n(n>1,表示缓存区的大小),默认值(默认值为缓存模式)
3.文件对象常用方法:
flush() 把缓冲区内容写入文件,但不关闭文件
close() 把缓冲区内容写进文件,并关闭文件,释放文件对象
read([size]) 从文件中读取size个字符的内容作为结果返回,如果省略size则表示一次性读取所有内容
readline() 读取文本一行内的内容
readlines() 读取文本行内容,并将每一行存进一个列表中,返回该列表
seek(offset[,wehence]) 把文件指针移动到新的位置,offset表示相对于whence的位置,whence可以为0(表示从文件开头开始计算),1(表示从当前位置开始计算),2(表示从文件末开始计算)
tell() 返回文件指针当前的位置
truncate([size]) 删除从当前指针位置到文件末尾的内容,如果指定了size的值,则只保留前size个字节,其余1的删除
writes(s) 把字符串内容s写进文件
writelines(s) 把字符串列表写入文本文件,不添加换行符
4.案例使用
①以追加方式打开文件并写入"Hello, my open file! "
#方法一,需要显示调用close()
fp1=open('1.txt','a+')
s='Open File first way!'+'\n'
fp1.write(s)
fp1.close()
#方法二,使用with关键字,会自动管理资源
s='Open file second way!'+'\n'
with open('1.txt','a+') as f:
f.write(s)
查看文本内容
#rean()/readline()/readlines()
fp=open('1.txt','r+')