操作文件的流程:

1打开文件,得到文件内容,并赋值给一个变量

2,对文件进行操作

3,关闭文件

#1. 打开文件,得到文件句柄并赋值给一个变量
f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r

#2. 通过句柄对文件进行操作
data=f.read()

#3. 关闭文件
f.close()

 

f=open(‘a.txt’,‘r’)的过程分析

  1.由应用程序向操作系统发起调用open(。。。)

  2.操作系统打开该文件,并返回一个文件句柄给应用程序

  3.应用程序将文具句柄赋值给变量f

 

打开文件的模式:

  r      只读模式(默认模式,文件必须存在,不存在则会报错)

  w   只写模式(不可读,不存在创建,存在则清空空间)

  a       只追加写模式(不可读,不存在则创建,存在则只追加内容)

=======================================================

  t  文本模式(默认)

  b 二进制模式

=======================================================

  + 打开一个文件进行更新(可读可写)

f    对象使用文件open函数来创建:

  f.close()关闭文件,关闭文件后不能再进行读写操作

  f.flush() 刷新文件内部缓冲,直接拿内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入

  f.isatty()如果文件连接到一个终端设备返回true,否则返回false

  f.fileno()返回一个整型的文件描述符,可以用在如os模块的read方法等一些底层操作上

  f.next ()返回文件下一行

  f.read()从文件中读取内容

  f.readline()读取所有行并返回列表

  f.seek()设置文件担当前位置

  f.tell()返回文件当前位置

  f.write 将字符串写入文件,返回的是写入的字符长度

  f.wrielines()向文件写入一个序列字符串,如果需要换行则需要自己加入没行的换行符

 

 

#掌握
f.read() #读取所有内容,光标移动到文件末尾
f.readline() #读取一行内容,光标移动到第二行首部
f.readlines() #读取每一行内容,存放于列表中

f.write('1111\n222\n') #针对文本模式的写,需要自己写换行符
f.write('1111\n222\n'.encode('utf-8')) #针对b模式的写,需要自己写换行符
f.writelines(['333\n','444\n']) #文件模式
f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式

#了解
f.readable() #文件是否可读
f.writable() #文件是否可读
f.closed #文件是否关闭
f.encoding #如果文件打开模式为b,则没有该属性
f.flush() #立刻将文件内容从内存刷到硬盘
f.name

posted on 2018-09-20 19:44  frank007  阅读(152)  评论(0编辑  收藏  举报