文件读写
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【不可读; 不存在则创建;存在则只追加内容;】
r+,【可读、可写;可追加,如果打开的文件不存在的话,会报错】
w+,【写读模式,使用w+的话,已经存在的文件内容会被清空,可以读到已经写的文件内容】
a+,【追加读写模式,不存在则创建;存在则只追加内容;】
例子1:
f = open('123.txt','r',encoding='utf-8')
print(f.read())#读取文件里面的全部内容
print(f.tell())#查看当前文件指针的位置
# f.truncate()#清空文件内容
例子2:
f = open('123.txt','r',encoding='utf-8')
print(f.readline())#只读取一行的内容
f.seek(0)#seek移动指针的时候,只对读好使,对写不好使
print(f.readlines())#读取文件里面所有的内容,把文件里面每一行的内容放到一个list里面
例子3:
f = open('123.txt','a+',encoding='utf-8')
f.write('test001'+'\n')
f.seek(0) #如果指针不返回0,读取回来的值为空,因为写入后,指针在最后面
print(f.read())
例子4:不同类型写入,注意格式转化
f = open('123.txt','a+',encoding='utf-8')
names = ['12','23','34','43','56']
f.write(str(names))#注意转化格式!
f.seek(0)
print(f.read())
例子5:不同类型写入,注意格式转化
f = open('123.txt','a+',encoding='utf-8')
names = ['11','22','33','55','77']
st = '1,2,3'
tu=('t1','a2','s3')
d={
'name':'123a'}
f.writelines('\n'+st) #写的时候,传入一个可迭代的对象
f.seek(0)
print(f.read())
f.close()
例子6:循环写入
f = open('123.txt','a+',encoding='utf-8')
for i in range(3):
f.write('xx'+'\n')
f.seek(0)
print(f.read())
f.close()
例子7:以list形式输出
fw = open('123.txt',encoding='utf-8')
count = 1
#直接循环文件对象的话,就是循环文件里面的每一行
for f in fw:
f = f.strip()
stu_lst = f.split(',')
print(stu_lst)