字元編碼和檔案處理

2022-07-18 07:27:12 字數 2390 閱讀 7597

檔案處理

應用程式任何操作硬體的請求都需要向作業系統發起系統呼叫,然後由操作做系統去操作硬體

1.開啟了編輯器就開啟了啟動了乙個程序,是在記憶體中的,所以,用編 輯器編寫的內容也都是存放與記憶體中的,斷電後資料丟失。

2.要想永久儲存,需要點選儲存按鈕:編輯器把記憶體的資料刷到了硬碟 上。

3.在我們編寫的乙個py檔案(沒有執行),跟編寫其他檔案沒有任何 區別,都只是在編寫一堆字元而已。

~第三階段:python直譯器解釋執行剛剛載入到記憶體中的test.py的代 碼。(ps:在該階段,即真正執行**時,才 會識別python的語 法,執行檔案內**,當執行到name= 'egon'時,會開闢記憶體空間 存放字串"egon")

~不同點:文字編輯器將檔案內容讀入記憶體後,是為了顯示或編輯,根 本不會理會python的語法,而python直譯器將檔案內容讀入記憶體後 ,可不是為了給你瞅一眼python**寫的啥,而是為了執行python **、會識別python語法。

~unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種 語言中的每個字元設定了統一並且唯一的二進位制編碼,規定雖有字 符和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536, 注:此處說的的是最少2個位元組,可能更多.

~utf-8,是對unicode編碼的壓縮和優化,他不再使用最少使用2個位元組 節,而是將所有的字元和符號進行分類:ascii碼中的內容用1個位元組 儲存、歐洲的字元用2個位元組儲存,東亞的字元用3個位元組儲存.

字元按照什麼標準而編碼的,就要按照什麼標準解碼。

用什麼**編寫就用什麼**開啟。

python2預設的直譯器編碼ascii

python3預設的直譯器編碼utf-8

r:唯讀

f.read()

w:清空後寫入(檔案不存在自動建立)

f.weite()

a:追加(檔案不存在自動建立)

f.write()

文字模式:t

二進位制模式:b

t/b無法單獨使用,只能和r/w/a一起使用

with open() as f: # 自動關閉

pip instal pyinstaller

切換路徑到資料夾(資料夾包含img.ico和test.py這兩個檔案)

pyinstaller -i img.ico -f test.py

r+:可讀可寫,指標檔案末

a+ :可讀可寫

seek: 單位位元組

tell:單位位元組

read(n):單位位元組

truancate : 單位位元組

用 rb 模式

```python

# with open('test.py', 'rb') as fr:

# fr.seek(1, 0) # 0是從檔案頭開始,走1個位元組

# fr.seek(1, 1) # 1是從當前位置開始,走1個位元組

# fr.seek(1, 2) # 2是從檔案末開始,走1個位元組

# fr.seek(0, 2) # 2是從檔案末開始,走1個位元組 # 定位到檔案末尾

# print(f'fr.tell():') # 告訴你當前指標的位置

# print(fr.read()) # 中 --> \xe4\xb8\xad

# with open('test.py', 'a+b') as fa:

# fa.truncate(1)

with open('test.py', 'rt',encoding='utf8') as fr:

print(fr.read(3)) # 3個字元

```

local history

檔案沒有修改這一說,只有覆蓋。

with open ('tset.py','r+',endcoding='utf8') as fr:

fr.seek(3)

fr.write('中')

fr.flush() #如果不加flush短暫的停留在記憶體中,然後再刷入硬碟。

#如果加了會更快速刷入硬碟

with open ('tset.py','r',encoding='utf8') as fr,\

open('tset_swap.py','w',encoding='utf8') as fw:

data = fr.read()

data = data.repalce('sb','dsb')

fw.write(data)

import os

os.remove('tset.py')

os.remove('tset_swap.py','test.py')

python字元編碼和檔案處理

一.了解字元編碼的知識儲備 1.文字編輯器訪問檔案的原理 nodepad python,word 2.python直譯器執行py檔案的原理,python,test.py 3.過程 文字編輯器 乙個檔案的三個過程 cpython直譯器執行乙個py檔案的三個過程 4.字元編碼 字元編碼指的是字元轉換成或...

字元編碼和檔案

儲備知識點 1.計算機系統分為三層 應用程式 作業系統 計算機硬體 2.執行python程式的三個步驟 1.先啟動python直譯器 2.再將python檔案當作普通的文字檔案讀入記憶體 3.解釋執行讀入記憶體的 開始識別語法 字元編碼 1.什麼是字元編碼 字元編碼表 人類的字元 數字 1bytes...

資料型別總結,and字元編碼和檔案處理

按儲存空間的占用分 從低到高 數字 字串按存值個數區分 標量 原子型別 數字,字串 容器型別 列表,元組,字典,集合 按可變不可變區分可變 列表,字典 不可變數字,字串,元組 按訪問順序區分 直接訪問 數字,字串 順序訪問 序列型別 字串,列表,元組 key值訪問 對映型別 字典解決方法 存入硬碟的...