文件操作

文件操作的基本模式:

1.只读模式(r,rb)

2.只写模式(w,wb)

3.追加模式(a,ab)

4.r+读写模式

5.w+写读模式

6.a+写读(追加写读)

7.其他文件操作

8.文件的修改以及另一种打开文件句柄的方式

 

只读模式(r,rb)

需要注意encoding表示编码集. 根据文件的实际保存编码进行获取数据, 对于我们而言. 更多的是utf-8.
rb. 读取出来的数据是bytes类型, 在rb模式下. 不能选择encoding字符集.

 

rb的作用: 在读取非文本文件的狮虎,比如读取MP3,图像,视频等信息的时候就需要用到rb,因为这种数据是没有办法直接显示的

 

 绝对路径和相对路径:

  1.绝对路径: 从磁盘根目录开始一直到文件名

  2.相对路径: 同一个文件夹下的文件,相对于当前这个程序所在的文件夹而言,如果在同一个问价夹中,则相对路径就是这个文件名,如果在上一层文件夹,则要 ../

 我们更推荐使用相对路径,因为我们把程序拷贝给别人使用的时候,直接把项目拷走就能运行,如果使用绝对路径,那还需要拷贝外部的文件

 

 只写模式(w,wb)

 写入的时候注意,如果没有文件,则会创建文件,如果文件存在,则将原件中原来的内容删除,再写入新内容

需要注意的是:只写模式下不能执行任何读的操作

wb模式下. 可以不指定打开文件的编码. 但是在写文件的时候必须将字符串转化成utf-8的
bytes数据

 

 

 追加模式(a,ab)

 在追加模式下,我们写入的内容会追加在文件的结尾

 

 

 r+读写模式

对于读写模式,必须是先读,因为默认光标是在开头的,准备读取的,当读完之后再进行写入,我们以后使用频率最高的模式就是r+

r+ 模式下,必须是先读取,然后再写入

 

 其他相关操作

seek(n)光标移动到n的位置,注意,移动的单位是byte,所以如果是utf-8的中文部分要是3的倍数

通常我们使用seek都是移动到开头或者结尾

移动到开头:seek(0)

移动到结尾: seek(0,2)

seek的第二个参数表示的是从那个位置进行品一,默认是0,表示开头,1表示当前位置,2表示结尾

 

 

tell()

  使用tell()可以帮我们获取到当前光标在什么位置

  用法:      f.tell()

truncate()

  截断文件

   用法:     f.truncate()

 

 修改文件以及另一种打开文件的方式

文件修改:只能将文件中的内容读取到内存中,将信息修改完毕,然后将源文件删除,将新文件的名字改成老文件的名字

 

posted @ 2018-07-11 15:44  ALADL  阅读(127)  评论(0编辑  收藏  举报