文件操作实用知识点

文件处理模式:读(r/rb),写(w/wb),读写(r+),追加(a),修改(读写模式混合)

一、读模式:

f = open("aaa.txt","r",encoding="   ")

注意点:读取之后光标就停留在文件末尾。

encoding:表示将硬盘上的二进制以此编码断句,在转换成Unicode字符串类型,并在内存中显示字符

                  如果不填,会默认用系统编码(windows是GBK)

二、写模式(创建模式):

f = open("aaa.txt","w",encoding="   ")

注意点:文件打开后就直接在文件头开始写,未关闭会继续在后面添加,文件关闭重启后就相当于创建一个新文件(覆盖原有内容)

encoding:写入的是Unicode字符串类型,内部会根据此编码转换成相应的编码二进制

                  如果不填,系统会根据你所填的字符串确定编码方式,下次读取的时候你就要以这个编码方式读取

三、追加模式:

f = open("aaa.txt","a",encoding="   ")

注意点:文件一打开,光标就会自动移到文件末尾,再开始写

encoding:写入的是Unicode字符串类型,内部会根据此编码转换成相应的编码二进制

                  如果不填,系统会根据你所填的字符串确定编码方式,这种情况基本会乱码,所以必须知道原先文件的编码方式

四、修改模式==读写模式(先读后写):

f = open("aaa.txt","r+",encoding="   ")

1、用seek方法将光标定位到某个位置,在write方法写入。此方法字符不一样长时,会覆盖之后的字符。(基本不用此方法)

2、读到内存里,在进行增删改查,在将内容写到文件里。(占内存的方法)

3、新建一个文件,进行一行读,一行写,有需要修改的进行修改再写入,不修改的直接写入就可以了(占硬盘的方式)

      代码举例如下: 

  f = open("aaa.txt","r",encoding="utf8")

  f_new = openopen("bbb.txt","w",encoding="utf8")

  str_old = “李云龙”

  str_new = "赵子龙“

  for line in f:

    if str_old in line:

      new_line = line.replace(str_old,str_new)

    else:

      new_line = line

    f_new.write(new_line)

  f.close()

  f_new.close()

五、一些方法牢记

f.read()        :   ·读取文件所有内容,保存原有格式,字符类型为str

f.readline()  :    只读取一行字符串

f.readlines():   读取文件所有内容,并将每一行作为一个元素,写入一个列表中

f.write()       :    将内容写入文件中,文件打开后一直调用此方法,写入的内容会以追加的形式添加在文件末尾。关闭后重新启动就会删除原先内容,从文件头开始写

f.writelines():   里面填写列表,列表中的每一个元素会合并成一行str,写入文件中

f.seek()       :    将光标移动到某个位置

f.readtable():   判断文件是否可读

f.writable()  :    判断文件是否可写入

f.tell()          :    返回当前光标所在的位置

f.truncate(只读模式下无法使用):

         指定长度的话,就从文件开头开始截断指定长度,不指定长度的话,就从当前位置到文件尾部的内容全去掉。此方法不返回任何值

  

 

posted @ 2018-04-02 19:41  控己未  阅读(214)  评论(0编辑  收藏  举报