文件读写操作过程中当前读写位置问题

对文件读写需要知道文件的路径,一般包含文件所在的绝对路径和完整文件名:

path=r'C:/Users/DongLi/Desktop/'
file_name="first.txt"
with open(path+file_name,'w') as f: 
    f.write("1234567") 
    f.seek(0) 
    print(f.readlines())
    f.seek() 
    print(f.read())
    print(f.tell()) 

 

 

这里,只要open()里的文件路径正确,就会在桌面上创建(没有first.txt文件的话)文件,若有,则open()之后,当前读写位置会在文件首位。

在对文件进行读写操作时,一定要明确当前读写位置在哪

执行完write语句后,会在当前读写位置写入“1234567”,此时,当前读写位置在“7”后面。

seek(0)执行完之后会将当前读写位置转至文件首位。参数“0”表示当前读取位置转至文件首位;若为“1”即表示维持当前位置,也即“7”后;若为“2”则表示转至文件末尾。

给出的例子中执行完seek(0)后,当前读取位置转至文件首位

 

 

执行readlines后会把文件的每一行读取到一个字符串列表中并返回,每一行是列表中的一个元素。也即读取整个文件

 

 

执行完seek(0)后,当前读取位置再次转至文件首位。

执行完read后会把整个文件读取到一个字符串中并返回

执行tell是指出当前的文件读取位置,这里是7(因为文件首位的位置是0

你可能感兴趣的:(文件读写操作过程中当前读写位置问题)