几种方式
· r 只读 可以省略打开方式 如文件不存在则报错
· w 只写 如文件不存在则创建 打开文件时把原来的内容删除再写,即覆盖
· a 追加 没有读的权限 不覆盖原先文件,直接追加到文件末尾
· + 可读写
· r+ 可读写,直接写是从文件开头写,read()后文件指针跳至文件尾部,从尾部开始写入,文件不存在则报错
· w+ 可读写,文件不存在则创建,先把原文件内容删除,再写
· a+ 追加读写
第一种:只读 r
f = open('os1.txt', 'r')
f.read()
f.close()
第二种:只写 w
f = open('os1.txt', 'w')
f.write("\n111111111")
# f.read("\n22") 会覆盖之前的内容
f.close() # 如果不close要写的内容只会在缓冲区,以下同理
#查看是否写入
f = open('os1.txt', 'r')
print(f.read())
f.close()
第三种:追加 a
f = open('os1.txt', 'a')
f.write("\n7777777777")
f.close()
第四种:可读写 r+
f = open('os1.txt', 'r+')
print(f.read()) # 此方法不写,则从文件的开头开始写 可用 seek替代(0,2)下面会对seek有讲解
f.write("\n8888888888")
f.close()
# 查看文件内容
f = open('os1.txt', 'r')
print(f.read())
f.close()
第五种:可读写 w+
f = open('os2.txt', 'w+', encoding='utf-8') # 文件不存在则创建
f.close()
第六种:追加读写 a+
f = open('os1.txt', 'a+')
print(f.write("\ngg gg gg ggg"))
f.seek(0.0) # 指针定位到开头,从头开始读
print(f.read()) # read()之后指针再次处于文件尾部
f.close()
这里不再对’+'进行赘述,一般都是跟其他权限一起使用
接下来说一下file.seek()方法的使用:
seek(offset[, whence])
· 开始的偏移量,也就是代表需要移动偏移的字节数
· 可选,默认值为 0。0代表从文件开头开始偏移,1代表从当前位置开始向后偏移,2代表从文件末尾向前偏移。
举个栗子
seek(0,0) 因为偏移量为0,所以指针在开头位置
seek(0,1) 同理,此时指针在当前位置
seek(0,2) 此时指针在尾部
文中有可以用seek()方法替代的地方已经标出,如对本文有什么疑问,可以在下方留言,共同进步。