Python基礎學習 08-檔案操作
Day08
檔案操作
f = open("檔案的路徑", mode="操作檔案的模式", encoding="檔案的編碼")
open() 開啟
file 檔案位置(路徑)
mode 操作檔案的模式
encoding 檔案編碼方式
f 檔案控制代碼
舉例:f = open("1.txt", mode="r", encoding="utf-8")
print(f.read())
f.close()
操作檔案
1.開啟檔案
2.操作檔案
3.關閉檔案
檔案操作模式
r,w,a
rb,wb,ab
r+,w+,a+
r,w,a
r操作 f = open("1.txt", mode="r", encoding="utf-8") print(f.read()) # 全部讀取 print(f.read(5)) # 按照字元進行讀取 print(f.readline()) # 讀取一行內容,自動換行 print(f.readline().strip()) # 去除換行符 print(f.readlines()) # 一行一行的讀取,存放在列表中 解決大檔案: for i in f: print(i) # 本質就是一行一行進行讀取 w操作 w操作分為兩步:1.先清空檔案。2.寫入檔案 f = open("1.txt", "w", encoding="utf-8") f.write("123123\n") f.write("123123\n") a操作 追加寫 在原始檔的基礎上進行新增 f = open("1.txt", "a", encoding="utf-8") f.write("123123\n")
rb,wb,ab
rb
f1 = open("1.jpb", "rb")
print(f1.read())
wb
f = open("2.jpb", "wb")
f.write(f1.read())
ab
f = open("3.jpb", "ab")
f.write("你好".encoding("utf-8"))
f = open("3.jpb", "rb")
print(f.read())
r+,w+,a+
r+ 讀寫 -- 先讀後寫 f = open("1.txt", "r+", encoding="utf-8") print(f.read()) f.write("aaa") w+ 清空寫,讀 f = open("1.txt", "w+", encoding="utf-8") f.write("aaa") print(f.tell()) print(f.read()) a+ 追加寫,讀 f = open("1.txt", "a+", encoding="utf-8") f.write("aaa") print(f.tell()) # 位元組數 print(f.seek(0, 0)) #0 將游標移動到檔案的頭部 print(f.read())
其他操作
tell 檢視游標 返回的是位元組數
seek 移動游標
seek(0, 0) 移動到檔案的頭部
seek(0, 1) 當前位置
seek(0, 2) 移動到檔案的末尾
seek(3) 按照位元組進行移動,按照編碼集
檔案修改
f = open("1.txt", "r", encoding="gbk")
s = f.read()
s1 = s.replace("你好", "哈嘍")
f1 = open("1.txt", "w", encoding="gbk")
f1.write(s1)
with 關鍵字 open("1.txt", "r", encoding="gbk") as f:
檔案操作的具體內容
w ,a 檢測有檔案就操作,沒有檔案就建立
with open("1.txt", "r", encoding="gbk") as f,
open("1.txt.txt", "w", encoding="gbk") as f1:
for i in f:
s1 = i.replace("你好", "哈嘍")
f1.write(s1)
import os
os.rename("1.txt", "1.txt.bak")
os.rename("1.txt.txt", "1.txt")
with open("1.txt", "r", encoding="gbk") as f:
pass
print(f.read()) #檔案已經關閉了