python基础——文件操作

打开

f=open('db','r')    #只读
f=open('db','w')    #只写,先清空原文件
f=open('db','x')    #文件存在则报错,不存在则新建文件写入
f=open('db','a')    #追加
f=open('db','r',encoding="utf-8")
data=f.read()
print(data,type(data))
f.close()

f=open("db","a")
f.write("测试")
f.write("\n")
f.close()
f=open("db","r")
data=f.read()
print(data)
f.close()

 

f=open('db','rb')   #b参数代表禁止python处理,直接读取bytes,读取速度快,适于跨平台。
f=open('db','rb')
data=f.read()
print(data,type(data))
f.close()

 

f=open("db","ab")
f.write(bytes("测试",encoding="utf-8"))
f.write(bytes("\n",encoding="utf-8"))
f.close()
f=open("db","r",encoding="utf-8")
data=f.read()
print(data)
f.close()

 

f=open('db','r+')   #可读可写,常用r+,方便调整光标位置
# r+,w+,x+,a+ 都是可读可写
# w+是清空后写入,a+是在后面追加。
f.seek(1) #光标位置,以字节为单位。 f.write("seek") #就是文件第一个字节之后写入字符串,覆盖原字符串,不插入,保持原文件字节数不变。 data=f.read(1) #读取第一个字符 print(f.tell()) #显示当前字节数,utf-8中文为3 f.seek(f.tell()) #把光标移到读取位置 f.write("seek123") f.close()

 

操作 

f.read()  #无参数,读全部;有参数,b方式打开按字节,非b方式打开按字符。
f.readable()    #判断是否可读
f.readline()    #仅读取一行
f.readlines()    #一行作为列表的一个元素
f.tell()  #获取当前指针位置
f.seek()  #指针跳转到指定位置(字节)
f.write() #写数据
f.close()   #关闭文件
f.flush()   #强刷,刷新文件内部缓冲区
f.truncate()    #截断数据,保留seek()指针位置之前的数据

for line in f:  #一行一行的读
    print(line)

count = len(f.readlines())    #文件行数

 

 

关闭 

f.close()    #关闭文件

with open('db') as f:
    pass    #代码块执行完成之后,自动关闭文件
with open('db1','r',encoding="utf-8") as f1, open('db2','w',encoding="utf-8") as f2:
#可以打开多个文件,python2.6不支持该功能 times=0 for line in f1: times += 1 if time <= 10: f2.write(line) #把db1的每一行写入db2 else: break for line in f1: new_str = line.replace("old","new") #把db1中每一行中old改成new f2.write(new_str) #把改过的每一行写入db2

 

posted @ 2016-08-27 23:25  沄持的学习记录  阅读(163)  评论(0)    收藏  举报