Python中内置函数open()的使用方法
摘要:
本文只讨论open在r+、w+两种模式下的读写区别。
准备一个文本文档,内容为:
Hello,Python!
r+模式下
可以直接先写。write()方法是从指针当前位置开始,覆盖书写。
演示一
f = open('test.txt','r+',encoding='UTF-8')
f.write('你好!') # 从指针当前所在位置开始覆盖书写
f.seek(0,0) # 指针回到文件开头。seek(偏移量,起始位置0文件头、1当前位置、2文件尾)
cont = f.read()
print(cont)
f.close()
输出结果:
你好!hon!
演示二
f = open('test.txt','r+',encoding='UTF-8')
f.write('你好!') # 从指针当前所在位置开始覆盖书写
cont = f.read()
print(cont)
f.close()
输出结果:
hon!
演示三
f = open('test.txt','r+',encoding='UTF-8')
cont = f.read()
print(cont)
f.write('你好!') # 从指针当前所在位置开始覆盖书写
f.seek(0,0) # 指针回到文件开头。seek(偏移量,起始位置0文件头、1当前位置、2文件尾)
cont = f.read()
print(cont)
f.close()
输出结果:
Hello,Python!
Hello,Python!你好!
w+模式下
不能直接先读。write()方法是替换文档所有内容。
f = open('test.txt','w+',encoding='UTF-8')
#f.seek(0,0) # 人工将指针移到文档开头
cont = f.read()
print(cont)
# f.seek(0,2) # 测试指针到文件尾时,write()书写的内容是不是完全替换,与指针位置无关。
f.write('你好!') # 替换文档中所有内容,写完后,指针已经到达文件末尾
f.seek(0,0) # 指针回到文件开头
cont = f.read()
print(cont)
f.close()
输出结果:
你好!