一,文件操作
1,文件处理流程
1)打开文件,获得文件句柄(open函数提供)并赋值
2)通过句柄对文件进行操作
3)关闭句柄
f = open('陈粒',encoding='utf-8')#open函数会先检索系统的编码gbk,文件存的是UTF-8编码,这样会出现乱码 data = f.read() print(data) f.close() f = open('XXX')#把XXX使用gbk编码保存在硬盘上,然后打开不会乱码 data = f.read() print(data) f.close()
2,文件打开模式:r只读,w只写,a添加
文件读操作
f = open('XXX','r')#XXX使用gbk编码 #data = f.read() #print(data) #输出文件内容 print(f.readable())#是否可读 #输出True # print('第一行',f.readline(),end='')#readline,一次读取一行 # print('第二行',f.readline())#注意如果前面的f.read()读取了文件内容,则使用readline时,游标在文件尾,print不会显示内容 # print('第三行',f.readline())#如果文件没有第三行,则输出空,此时游标在文件尾 print('读取到列表',f.readlines()) #输出:读取到列表 ['1111\n', '2222\n', '\n'] f.close()
文件写操作
f = open('陈粒2','w',encoding='utf-8')#w写模式如果文件存在会把文件清空后再操作,文件不存在则新建 #f.read()#使用写模式打开,读会报错 #输出:io.UnsupportedOperation: not readable f.write('11111\n') f.write('22222\n') f.write('333\n444\n555\n') #f.writable() f.writelines(['666\n','777'])#写一个列表到文件 #f.writelines(['666\n','777',1])#写的内容必须是字符串,如果有数字存在会报错 #输出:TypeError: write() argument must be str, not int f.close()
文件追加操作