常见的3种操作模式,r、w、a#file in 2.X
# file mode r = read ,w = write , a = append
# r 模式 就是打开一个文件,只能读不能写print(open("lyric").read())
data = open("lyric").read()
print(("Somehow","HAHAHAHA")) #写入失败
# w 模式 意味着创建一个文件,旧文件会被覆盖
f = open("lyric", mode="w")
data = ()
data = ("Somehow","HAHAHAHA")
print(data)
(data) #以上操作会将文件中所有内容覆盖
("What happend...") #重新写入数据
("What happend...")
("What happend...")
# a 模式 以追加的形式打开文件,会写在文件最后
f = open("lyric", mode="a")
("
What happend...")
()
修改文件:# @1 方式
#先打开改掉内容之后再关闭
f = open("lyric",mode="r",encoding="utf-8")
data = ()
data = ("Somehow","HAHA")
()
#再以覆盖的模式打开再写入
f = open("lyric",mode="w",encoding="utf-8")
(data)
()
弊端:占用内存
# @2 方式import os
f = open("lyric",mode="r",encoding="utf-8")
f_new = open("lyric_new",mode="w",encoding="utf-8")
#循环读,如果遇到则修改;最后写入到一个新文件中for line in f:
if"Somehow"in line:
line = ("Somehow","HAHAHA")
(line)
()
()
("lyric") #删除原文件
("lyric_new","lyric") #重命名新文件
弊端:占用硬盘
其他操作:#r+ 模式 追加+读,可以定长修改
f = open("lyric","r+",encoding="utf-8") #encoding如果不声明,默认使用操作系统的编码来解释文件print(())
("---------test")
()
#w+ 模式 写+读,清空原文件再写入新文件
f = open("lyric","w+",encoding="utf-8")
print(())
("---------test")
()
#小技巧
f = open("lyric","r",encoding="utf-8")
print("cursor:",()) #打印光标,输出的数字是第n个字符
(10) #移动10个光标(字节)
(6) #读取6个字符
() #将写入内存的数据写入硬盘()
#a+ 模式 追加+读
#rb 模式 以二进制模式打开文件,不能声明encoding
#wb 模式 以二进制写入文件,必须写入bytes格式,需要encoding
关键词: [责任编辑]杨白雪