第四章ファイル操作
4.1基本的なファイル操作
obj = open('路径',mode='模式',encoding='编码')
obj.write()
obj.read()
obj.close()
with open...
4.2オープン・モード
- R / W /
- R + / W + / A +
- RB / WB / AB
- R + B / W + B / A + B
4.3操作
read()は、すべてのメモリを読み取ります
読んで(1)
1文字を表し、
obj = open('a.txt',mode='r',encoding='utf-8') data = obj.read(1) # 1个字符 obj.close() print(data)
1バイトを表し、
obj = open('a.txt',mode='rb') data = obj.read(3) # 1个字节 obj.close()
書き込み(文字列)
obj = open('a.txt',mode='w',encoding='utf-8') obj.write('中午你') obj.close()
書き込み(バイナリ)
obj = open('a.txt',mode='wb') # obj.write('中午你'.encode('utf-8')) v = '中午你'.encode('utf-8') obj.write(v) obj.close()
かかわらず、ストリップモードBは、バイト単位で処理されるかどうか、(バイトカーソル位置)シーク。
obj = open('a.txt',mode='r',encoding='utf-8') obj.seek(3) # 跳转到指定字节位置 data = obj.read() obj.close() print(data) obj = open('a.txt',mode='rb') obj.seek(3) # 跳转到指定字节位置 data = obj.read() obj.close() print(data)
教えて()、現在のカーソル位置にバイトを取得
obj = open('a.txt',mode='rb') # obj.seek(3) # 跳转到指定字节位置 obj.read() data = obj.tell() print(data) obj.close()
フラッシュ、ハードディスクメモリにデータを書き込むことを余儀なく
v = open('a.txt',mode='a',encoding='utf-8') while True: val = input('请输入:') v.write(val) v.flush() v.close()
4.4ファイルを閉じます
若いアーティスト
v = open('a.txt',mode='a',encoding='utf-8')
v.close()
強制二
with open('a.txt',mode='a',encoding='utf-8') as v:
data = v.read()
# 缩进中的代码执行完毕后,自动关闭文件
4.5ファイルの内容を変更します
with open('a.txt',mode='r',encoding='utf-8') as f1:
data = f1.read()
new_data = data.replace('飞洒','666')
with open('a.txt',mode='w',encoding='utf-8') as f1:
data = f1.write(new_data)
大容量ファイルの変更
f1 = open('a.txt',mode='r',encoding='utf-8')
f2 = open('b.txt',mode='w',encoding='utf-8')
for line in f1:
new_line = line.replace('阿斯','死啊')
f2.write(new_line)
f1.close()
f2.close()
with open('a.txt',mode='r',encoding='utf-8') as f1, open('c.txt',mode='w',encoding='utf-8') as f2:
for line in f1:
new_line = line.replace('阿斯', '死啊')
f2.write(new_line)