1. 程式人生 > >字元編碼和檔案處理

字元編碼和檔案處理

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+ 不存在可建立