'''
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個電晶體,通...