文件操作
文件操作
一、文件读写增其他操作
-
文件操作三部曲:
-
打开文件。
-
对文件句柄进行相应的操作。
-
关闭文件。
f1 = open(r'D:\PYTHON\python22\day08\美眉.txt',encoding='utf-8',mode='r') content = f1.read() f1.close()
-
-
文件的读
- 要制定编码和mode='r'
-
文件的写
-
如果文件存在,先清空原文件内容,在写入新内容
-
读写图片
#不指定编码模式,因为读时不用解码,直接byte类型的。 f=open('美女.jpg',mode='rb') content=f.read() f.close() f1 = open('美女2.jpg',mode='wb') f1.write(content) f1.close()
-
-
文件的追加
- 没有创建文件,有则追加
f = open('文件的追加',encoding='utf-8',mode='a') f.write('大壮,舒淇,b哥,雪飞') f.close() -
文件的读写(r+)
- 要先读后写,如果先写,中英文导致字符不完整,读时报错或出现乱码。核心是光标问题
-
光标问题
f.tell()#获取光标位置,字节为单位 f.seek(6)#移动到第6个字节 f.flush()#强制冲刷 -
另一种打开方式重要
- 优点:不用手动关闭文件句柄
with open('文件的读',encoding='utf-8') as f1: print(f1.read()) with open('文件的读', encoding='utf-8') as f1,\ open('文件的写', encoding='utf-8', mode='w')as f2: print(f1.read()) f2.write('hfdsjkghkajhsdjg') -
文件句柄是迭代器
with open('alex自述',encoding='utf-8') as f1,\ open('alex自述.bak',encoding='utf-8',mode='w') as f2: # 3,将原文件的内容读出来修改成新内容,写入新文件。 for line in f1: # 第一次循环 SB是老男孩python发起人,创建人。 new_line = line.replace('alex', 'SB') f2.write(new_line) os.remove('alex自述') os.rename('alex自述.bak','alex自述') -
有关清空的问题
- 以下循环不会关闭文件的
# 关闭文件句柄,再次以w模式打开此文件时,才会清空。 with open('文件的写', encoding='utf-8',mode='w') as f1: for i in range(9): f1.write('恢复贷款首付款')
浙公网安备 33010602011771号