文件的打开模式

# 控制读写文件内容的结果有两种:t模式text,b模型bytes
#注意:
#1、t与b这两种模式均不能单独使用,都需要与r/w/a之一连用
#2、默认的内容格式是t
#3、只有文本文件才能用t模式,也只有文本文件才有字符编码的概念



# 操作文件的基础模式有三种:
#1、r,默认的
#2、w
#3、a


#r:read,只读模式
#1、只能读,不能写
#2、在文件不存在时,会报错,在文件存在的时候会将文件指针移动到开头
# f=open(r'b.txt',mode='rt',encoding='utf-8')
# data1=f.read()
# print('第一次:',data1)
# # print(type(data1))
#
# # data2=f.read()
# # print('第二次:',data2)
# f.close()

# f=open(r'b.txt',mode='rt',encoding='utf-8')
# data2=f.read()
# print('第二次:',data2)
# f.close()

# f=open(r'b.txt',mode='rt',encoding='utf-8')
# # print(f.readable())
# # print(f.readline(),end='')
# # print(f.readline(),end='')
#
# lines=f.readlines()
# print(lines)
# f.close()
#



#w:只写模式
#1、只能写,不能读
#2、在文件不存在时会创建空文件,在文件存在的时候会将文件内容清空
# f=open(r'c.txt',mode='wt',encoding='utf-8')
# # print(f.readable())
# # f.read()
# # f.write('你好啊我的天\n你好啊我的地\n啊啊啊啊啊啊\n')
# # f.write('4444\n')
# # f.write('5555')
#
# lines=['1111\n','2222\n','33333\n']
# # for line in lines:
# # f.write(line)
# f.writelines(lines)
#
# f.close()


#a:只追加写模式
#1、只能写,不能读
#2、在文件不存在时会创建空文件,在文件存在的时候会将指针移动到文件末尾

# f=open('d.txt',mode='at',encoding='utf-8')
# print(f.readable())
# f.read()

# f.write('555555\n6666\n')
# f.writelines(['77777\n','8888888\n','999999999\n'])

# f.close()

#b:二进制模式
#注意:
#1、一定不能指定字符编码,只有t模式才与字符编码有关
#2、b是二进制模式,是一种通用的文件读取模式,因为所有的文件在硬盘中都是以二进制形式存放的

# f=open('egon.jpg','rb')
# data=f.read()
# print(type(data))
# f.close()

# f=open('oldsiji.mp4','rb')
# data=f.read()
# f.close()

# f=open(r'F:\oldsiji.mp4','wb')
# f.write(data)
# f.close()


# 循环读
# f=open('d.txt','rt',encoding='utf-8')
# for line in f:
# print(line)
# f.close()


# f=open('d.txt','rb')
# for line in f:
# print(line)
# f.close()

# f=open('oldsiji.mp4','rb')
# for line in f:
# print(line)
# f.close()


# f=open('e.txt','wb')
# f.write('你好啊'.encode('utf-8'))
#
# f.close()


# f=open('e.txt','ab')
# f.write('大家好,我是egon'.encode('utf-8'))
# f.close()


# 上下文管理
# with open('e.txt','rb') as f,open('j.txt','wt',encoding='utf-8') as f1:
# #文件的操作
# src_data=f.read()
# res=src_data.decode('utf-8')
# # print(res,type(res))
# f1.write(res)



# with open('e.txt','rb') as f,\
# open('j.txt','wb') as f1:
# #文件的操作
# f1.write(f.read())







posted @ 2018-09-21 23:26  不沉之月  阅读(184)  评论(0编辑  收藏  举报