注意光标所在位置,读操作是从光标所在的位置开始往后读,写操作是从光标所在的位置往后写!!
举例:
错误写法:
a_file = open(r'C:Users86151Desktopa.txt', 'r+')
a_file.write(text2)
a_file.flush()
print("替换后a文件的内容为:%s" % a_file.read())
a_file.close()
b_file = open(r'C:Users86151Desktop.txt', 'r+')
b_file.write(text1)
b_file.flush()
print("替换后b文件的内容为:%s" % b_file.read())
b_file.close()
结果:读取文件的值为空,原因是因为写入文件后,光标已经移动至文件的末尾,而读取文件是从光标所在位置往后读取
正确写法:
a_file = open(r'C:Users86151Desktopa.txt', 'r+')
a_file.write(text2)
a_file.flush()
a_file.seek(0, 0)
print("替换后a文件的内容为:%s" % a_file.read())
a_file.close()
b_file = open(r'C:Users86151Desktop.txt', 'r+')
b_file.write(text1)
b_file.flush()
b_file.seek(0, 0)
print("替换后b文件的内容为:%s" % b_file.read())
b_file.close()
还要注意一点,写入文件之后必须要用flush()或close(),否则写入的内容依然在缓冲区中,没有写入文件,如果中途终止,文件里就会没有内容