假设现在有个文本文件对象,对象名是text,其中内容为“梧桐半死清霜后”,可供读写。
如下代码,尝试读取两次文件内容。
print("第一次读取:", text.read())
print("第二次读取:", text.read())
输出的内容只有第一次的read(),读到了内容。
原因是,随着read()的读取执行,文本的光标也随之移动到读取的最后一格,需要将光标向前移动,下一次read()才会读到光标后的内容。
使用seek()移动光标
seek()方法的基本语法格式:
file.seek(offset[, whence])
file:表示已经打开的对象。
offset:用于指定移动的字符个数,其具体位置与whence有关。
whence:用于指定从什么位置开始计算。值为0表示从文件头开始计算,值为1表示从当前位置开始计算,值为2表示从文件尾开始计算,默认值为0。
要使第二次读取有内容,代码如下:
print("第一次读取:", text.read())
# 移动文件指针至头部
text.seek(0,0)
print("第二次读取:", text.read())
版权归原作者 张秋迟 所有, 如有侵权,请联系我们删除。