文件指针
01.文件指针:
- 文件指针表示当前读写操作在文本中的位置。
- 文件指针的初始化位置:
- mode等于r时,指针起始在0。
- mode等于a时,指针起始在EOF。
02.文件指针读取:
- 使用tell()方法可以返回当前指针的流位置,其格式为:
tell()
- tell()方法的示例:
write_file = open('E:\\windows.txt', 'w+') write_file.write('Good Luck Dominos!!') my_seek = write_file.tell() print(my_seek) write_file.close()
03.文件指针修改:
- 使用seek()方法可以修改当前指针的流位置,其格式为:
seek(offset, whence=0, /)
- seek()方法的参数包括:
- offset,偏移量,其值依赖于whence的相关设置。
- whence:
- 值为0,默认值,从文本的起始位置开始;offset的值为0或正整数,表示指针移动到从第0字符开始的N个字符之后。
- 值为1,从当前位置开始;offset的值为0,正整数或负整数,表示指针移动到当前位置的N个字符之后。
- 值为1时,若offset值不为0,则只能使用字节流模式打开,即加上’b’参数。
- 值为1时,若offset为负值,则其绝对值不能超过当前的偏移量。
- 值为2,从文本的结束位置开始;offset的值通常为负整数,表示指针移动到从最后一个字符往前的N个字符之后。
- 值为2时,若offset值不为0,则只能使用字节流模式打开,即加上’b’参数。
- 值为2时,若offset为负值,则其绝对值不能超过整个文本的字节数。
- seek()方法的建议:
- 使用字符流方式打开时,除了移动到起始和结束位置,不要有其他的操作。
- 如果一定要移动,则gbk为2个字节,utf-8为三个字节。
- 使用字节流方式打开时,可以任意操作。
- 使用字符流方式打开时,除了移动到起始和结束位置,不要有其他的操作。
- seek()方法的示例:
write_file = open('E:\\windows.txt', 'wb+') write_file.write('Good Luck Dominos!!'.encode('gbk')) my_seek = write_file.tell() print(my_seek) write_file.seek(-2, 1) my_seek = write_file.tell() print(my_seek) write_file.close()
文档更新时间: 2020-04-20 00:09 作者:闻骏