字元編碼 檔案操作

2022-07-26 03:51:12 字數 1573 閱讀 4946

'''

cpu:將資料渲染給使用者,**處理器

記憶體:臨時存放資料,斷電後消失

硬碟:永久儲存資料,斷電後還有

亂碼:存資料與讀資料採用的編碼表不一致

軟體開啟檔案讀取資料的流程:

1. 開啟軟體

2. 往計算機發生乙個開啟檔案的指令,來開啟檔案

3. 讀取資料渲染給使用者(訪問編碼不一致:亂碼)

python直譯器開啟py檔案

1. 開啟軟體(python直譯器)

2. 往計算機發生乙個開啟檔案的指令,來開啟檔案

3. 逐行解釋開啟的檔案內容(訪問編碼不一致,無法正常解釋,崩潰),將執行結果展示給使用者

解釋失敗的原因:

py2預設按ascii來解釋檔案內容 | py3預設按utf-8來解釋檔案內容

檔案頭:# encoding: 編碼表

功能:告訴py直譯器按照什麼編碼來解釋檔案內容

'''# 原義字串: 不對字串記憶體做任何操作(eg:\n的轉化)

# r'abc\nabc' => 'abc\nabc'

# u'' 之間轉化 b''

# 編碼:u''.encode('utf-8') | bytes(u'', encode='utf-8')

# 解碼:b''.decode('utf-8') | str(b'', encode='utf-8')

'''計算機中的檔案:硬碟中一塊儲存空間(虛擬的檔案)

檔案操作:根據檔名來操作硬碟的那塊儲存空間,操作方式 讀read 寫write

''''''

1. 開啟檔案

2. 操作檔案(讀:read() 寫:write())

3. 關閉檔案 *****

'''# 基礎讀

# 1、開啟檔案

# 變數名 = 檔案空間

# 檔案路徑 操作模式(讀|寫) 編碼

f = open('a.txt', 'r', encoding='utf-8')

# 2、操作檔案

# data = f.read(3) # 將所有內容讀取出來,如果設定讀取長度,按照規定長度讀取資料

# print(data)

# 一次讀取一行

# line = f.readline()

# print(line)

# line = f.readline()

# print(line)

# 按行一次性全部讀出

# lines = f.readlines()

# print(lines)

s = set()

for line in f:

# print(line)

s.add(line)

print(s)

# 3、關閉檔案

f.close() # 釋放作業系統對檔案的持有,變數f還被應用程式持有

# 基礎寫

# 檔案不存在:會新建檔案,再操作檔案

# 檔案存在:先清空檔案,再操作檔案

w = open('b.txt', 'w', encoding='utf-8')

w.write('456')

w.close()

字元編碼及檔案操作

寫 和做人一樣,從前往後看的時候,往往會看不明白,但是,如果站在結果,去看過往,一切都是如此的清澈透明,完全可以理解和接受.人生可以有遺憾,但是,不能有bug.哈哈.扯遠了,繼續講 字元編碼與檔案操作息息相關.因為在檔案操作中,要判斷游標 指標 的位置,就需要用不同的模式,而每個模式下,因為使用的方...

python檔案操作 字元編碼與檔案處理

本文目錄 一 字元編碼 二 檔案處理 應用程式 作業系統 計算機硬體 1.先啟動python直譯器 2.再將python檔案當作普通的文字檔案讀入記憶體 3.解釋執行讀入記憶體的 開始識別語法 字元編碼表 人類的字元 數字 1bytes 8bit 1b 8b 1位元組等於8個二進位制位 ascii碼...

檔案編碼與字元編碼

首先明確一點,檔案不存在什麼編碼 歸根結底檔案都是二進位制檔案,用ue開啟可以看到都是乙個個的16進製制數 只有檔案中的字元才可以說編碼。字元通過某種編碼組織起來存到檔案裡面,計算機通過這種編碼解析解析檔案,根據解析出來的文字繪製顯示到顯示裝置中,這樣我們就看到了文字。最初的計算機是又8個電晶體,通...