文件处理(更新部分)

---恢复内容开始---

一、控制文件内指针移动

f.seek
    文件内指针移动,只有t模式下的read(n),n代表的字符(字或字符)的个数,除此以外文件内指针的移动都是以字节为单位

 f.seek(offset,whence)有两个参数,offset: 代表控制指针移动的字节数;whence:代表参照什么位置进行移动。

whence对应编号所对应的参考点:0,参照文件开头(默认的),可以在t和b模式下使用;1,参照当前所在的位置,必须在b模式下使用;

2,参照未见末尾,必须在b模式下使用。

   1) seek在0模式下的移位取字符


    

       2) seek在1模式下的移位取字符,(参考点在当前位置,只能在b模式下使用)

   步骤:1,表示读取3个字节,指针在当前位置第一个字的后面;2,用tell来检测从文档开头位置到改字时(包括这个字)之间的字节总数;

3,证明检测指针的位置;4,读取f.read(3)对应的字节和汉字;5,seek(3,1)在whence1模式下基于f.read(3)指针位置向后移位3个字节;6,用tell()证明到seek(3,1)的总字节数,也即是对应的汉字;7,在seek(3,1)位置用f.read(3)再读取三个字节,打印出三个字节数,然后解码生成汉字“德”。

     3)seek在2模式下的移位取字符(参考点在文件末尾,只能在b模式下使用)

 

 

 

 

---恢复内容结束---

posted on 2019-12-03 17:19  jueyuanfengsheng  阅读(133)  评论(0编辑  收藏  举报