本人python新手一枚,想请教各位大佬,
teleFile.readline()执行后,再使用readlines()获取内容时,为什么能跳过第一行,
个人理解,teleFile是我打开的一个.txt文件,不做任何操作时,里面应该包含了文件中的全部内容,对它执行readline()后,再使用readlines()获取文件内容时,应该还是全部内容,但实际打印出的结果显示去掉了首行内容。
想请教python底层执行的过程及原理。
本人python新手一枚,想请教各位大佬,
teleFile.readline()执行后,再使用readlines()获取内容时,为什么能跳过第一行,
个人理解,teleFile是我打开的一个.txt文件,不做任何操作时,里面应该包含了文件中的全部内容,对它执行readline()后,再使用readlines()获取文件内容时,应该还是全部内容,但实际打印出的结果显示去掉了首行内容。
想请教python底层执行的过程及原理。
在文件对象teleFile内部有一个指针,初始时指针指向文件内容的第一行。
在执行teleFile.readline()时,读取指针指向的那一行,然后指针重新指向下一行。
这样第一次执行teleFile.readline()时,读取的是第一行,
第二次执行teleFile.readline()时,读取的就是第二行,
而teleFile.readlines()方法其实就是循环的调用readline()方法,直到指针指向文件结尾。
你的代码先执行一次teleFile.readline()之后指针就指向第二行了。
然后teleFile.readlines()中调用readline()方法就从第二行开始读取了。