文件操作:
1 f1 = open('demo.txt')#如果文件不存在则报错 2 f2 = open('demo','w')#如果没有此文件则新建demo文件 3 f2.close()#关闭文件 4 f2.closed#如果此文件正在打开 返回False 如果文件没有被打开则返回True 5 f2.encoding#显示文件打开的编码方式(与源文件以什么方式便如何存放在硬盘上无关) 6 f2.flush()#刷新内容 7 f2.flush()#是否是终端设备 8 f2.name#文件名 9 f2.tel()l#光标所在位置 返回一个数 即光标位置(注意换行的 共为两个字节 汉字为三个字节)首先执行f2.readline() 则返回值为大于0的数值 直接执行返回值为0 10 f2.open('demo','r',encoding='utf-8',newline='')#显示换行后面的 11 f2.seek(x)#控制光标移动到x位置 如果出现汉字有可能会报错---->seek的数值不对 12 f2.read()#读取字节 *****除了read方法读取字节 其余的以字节方式读取seek 13 f2.truncate(x)#截取x个字节
1 f1 = open('demo','w',encoding='utf-8')#写文件 w模式打开直接覆盖demo.txt 以utf-8形式从硬盘上翻译出来 2 f2 = open('demo','r',encoding='gbk')#读文件 demo.txt格式,gbk 3 f3 = open('demo','a',encoding='gbk')#写文件 在demo.txt后面追加内容 4 f4 = open('demo','a+',encoding='gbk')#以追加的方式读写文件 5 f5 = open('demo','r+',encoding='gbk')#读写文件,从光标处覆盖文件内容 添加新内容 6 f6 = open('demo','w+',encoding='gbk')#写读模式
1 读文件: 2 3 f = open('demo.txt',encoding='utf-8') 4 #res1 = f.read() 5 res2 = f.readline() 6 res3 = f.readlines() 7 #print(res1) 8 print(res2) #读取部分文件时不能在前面操作read() 否则读取文件为空 9 print(res3) 10 print(f.readable())#表示文件可读 11 f.close() 12 13 14 写文件: 15 16 file = open('demo.txt','w',encoding='utf-8') 17 #ref = file.write('**********')#直接覆盖demo.txt文件 18 print(ref) 19 file.close() 20 21 读写以及重命名: 22 23 with open('z.txt','r',encoding='utf-8') as zzz, 24 open('zz.txt','w',encoding='utf-8') as zzz2: 25 data = zzz.read() 26 zzz2.write('打开z.txt文件 只读 重命名为zzz并且打开zz.txt 只写 重命名(as)为zzz2;读取zzz.txt的内容 写内容给zzz.txt')
字节B方式与文件:
1:(ab)
1 #f = open('demo.txt','rb',encoding='utf-8')#binary mode doesn't take an encoding argument 指定编码方式为二进制 不能以utf-8编码 2 f = open('字节方式与文件.txt','rb')#---以二进制的形式编码 3 f1 = f.read() 4 print(f1) 5 print(f1.decode('utf-8'))#解码以UTF-8的形式 6 f.close()
2:(wb)
字符串转换成bytes类型:
1 f = open('字节方式与文件','wb') 2 f1 = f.write(bytes('111112222 ',encoding='utf-8'))#转换字符串为bytes类型 编码为(encode) 3 f2 = f.write('111213513311 '.encode('utf-8'))#效果同上 4 f.close()
3:(ab)
1 #'ab':在结尾追加要write的内容 2 f = open('字节方式与文件','ab') 3 f.write('sdjaskfnsdl'.encode('utf-8'))