字元編碼和檔案處理
1.字元編碼 檔案處理
軟體器動流程
1.從硬碟載入到記憶體
2.載入檔案到記憶體
3.程式碼載入檔案內容,如果是文字編輯器,螢幕列印,直譯器是把
程式碼轉換成cpu的指令級
2.記憶體中用unicode,硬碟和網路中用utf-8 windows預設gbk,linux預設utf-8
3.在讀取和存的時候編碼方式不一樣 找到正確的編碼方式可恢復
4.encode("utf-8") unicode - > utf-8
decode("utf-8") 將二進位制轉換為unicode
encode和decode分別指編碼和解碼
str3 = u.encode('utf-8') # 以utf-8編碼對u進行編碼,獲得bytes型別物件
檔案處理
語法一
1.開啟
f=open(file,"r",encoding)
2.讀取
data=f.read()
print(data)
3.關閉檔案
f.close
語法二
# with open(file,"r") as f:
# line=f.read()
# print(line)
語法執行完後會自動執行close
讀取檔案內容
mode 開啟檔案的模式
r只讀 w只寫
r+可讀可寫
read(預設全部讀取,新增引數代表讀取多少,檔案較小可以預設)
with open(file,"r") as f:
# line=f.read()
# print(line)
readble判斷可讀給Ture否則為False
f=line.readable()
print(f)
readline()讀取一行
# lines = line.read()
# lines=line.readlines()
# while True:
# lines = line.readline()
# if not lines:
# break
# print(lines)
b模式只能寫入位元組
readlines()讀取全部,每一行放在列表裡
f=line.readlines()
print(f)
寫檔案內容,原本檔案不存在會建立
在w模式下,先清空該文佳
writelines()迭代寫入檔案
import sys
file=r"D:\360MoveData\Users\11419\Desktop\apple2.txt"
with open(file,'w',encoding="utf-8") as line:
# line.write("apple\napple")
line.writelines("\n".join(["as","cd"]))
write()
line.write("appleapple")
追加寫入a會把游標移動到最後,不會清空
可讀可寫+
r+ 原始檔不存在 會報錯
w+ 清空原檔案可建立
a+ 不存在可建立