#################文件处理################ # r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】 # w,只写模式【不可读;不存在则创建;存在则清空内容】 # a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】 #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式) # rb # wb # ab #读 #f.read() #读出文件的所有内容 # f.readline() #一次读一行 # f.readlines() #读出文件所有的行存在列表中 #写 # f.write('1111 22222 ') #多行写入 # f.writelines(['1111 ','22222 ']) #以列表方式写入 ############r模式##################### #手段关闭文件 # f=open(r'C:UsersxxxDesktopPython11.txt',encoding='utf-8') #默认打开模式就为r # data=f.read() # print(data) # f.close() #with 打开文件 自己关闭 # with open(r'C:UsersxxxDesktopPython11.txt',mode='r') as f: # print(f.read()) #打开多个文件 # with open(r'C:UsersxxxDesktopPython11.txt',mode='r') as f1,open(r'C:UsersxxxDesktopPython12.txt',mode='r') as f2: # print(f1.read()) # print(f2.read()) #追加多行写入 # with open(r'C:UsersxxxDesktopPython11.txt','a',encoding='utf-8') as f: # f.writelines(['{"x:1} ','{"y":1} ']) #逐行读取 # f=open(r'C:UsersxxxDesktopPython11.txt',mode='r',encoding='utf-8') # print(f.readline(),end='') #读取第一行内容 # print(f.readline(),end='') #读取第二行内容 # f.close() #读写整个文件的内容 以行切分 # f=open(r'C:UsersxxxDesktopPython11.txt',mode='r',encoding='utf-8') # print(f.readlines()) # f.close() #打印文件的全部内容 # with open(r'C:UsersxxxDesktopPython11.txt',encoding='utf-8') as f: # for line in f: # print(line,end='') # for line in f.readlines(): # print(line,end='') #w:只写模式 #1.当文件存在时 清空 #2.当文件不存在时,创建空文档 # f=open(r'C:UsersxxxDesktopPython1ab.txt',mode='w',encoding='utf-8') #默认wt模式 # f.write('第一行 ') # f.write('第二行 ') #wite 逐行写入 # f.write('aaaaaa bbbbbbb cccc ') #写入多行 # f.writelines(['1111 ','22222 ','3333 ']) #以列表写入多行 # f.close() #a:追加写入模式 #1.在文件不存在时 创建文件 #2.在文件存在时 光标直接跑到文件某尾 # f=open(r'C:UsersxxxDesktopPython1access.log',mode='a',encoding='utf-8') # print(f.writable()) #判断文件是否可读 # f.write('555555555555555 ') # f.close() #文件打开模式b模式 #1.与t模式类似不能单独使用 必须是rb wb ab #2.b模式下读写都是以bytes单位的 #3.b模式下一定不能指定encoding参数 #读取图片文件 # with open('C:UsersxxxPicturesCamera Roll123.GIF',mode='rb') as f: #以二进制处理文件 # data=f.read() # print(data) # print(type(data)) #rb模式 # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='rb') as f: # data=f.read() # # print(data) # bytes # print(data.decode('utf-8')) #bytes--unicode # print(type(data)) #wb模式 # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='wb') as f: # msg='你好啊,我是miss zhang' # f.write(msg.encoding('utf-8')) #以什么字符编码写入 以什么读出 #rb模式 # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='rb') as f: # data=f.read() # print(type(data)) # print(data.decode('utf-8')) # print(data) #ab模式 # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='ab') as f: # f.write('你好'.encode('utf-8')) #r+t 可读 可写 # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='r+t',encoding='utf-8') as f: # print(f.readable()) # 判断是否可读 为tu # print(f.writable()) # 判断是否可写 true # print(f.readline()) #逐行读 # f.write(' 吴大炮你也好 ') #r+ 模式 光标定在开始 # import time # with open(r'C:UsersxxxDesktopPython1ab.txt','r+',encoding='utf-8') as f: # f.seek(0,2) # while True: # line=f.readline() # if line: # print(line.decode('utf-8')) # else: # time.sleep(0.2) #按光标插入内容 # with open(r'C:UsersxxxDesktopPython1ab.txt','r+',encoding='utf-8') as f: # f.seek(9) #光标移动三个位置 偏移量单位是字节 一个中午三字节 # f.write('[最第二帅的人]')