關於編碼的問題:
in python3中:對於英文、數字:utf8
1個bytes(位元組)對於乙個字元
對於中文:unicode
3個bytes(位元組)對應乙個字元
encode:編碼 將unicode形式轉化為utf-8等其他形式
decode:解碼 將utf-8等其他形式轉化為unicode形式
unicode形式的字串的type是str,utf-8等其他形式的字串的type是bytes;
uincode就是我們看到的字元本身,utf-8等其他形式是儲存進檔案時的格式。
在涉及與檔案、網頁互動時,才會涉及到編碼解碼。
十
三、檔案操作
能呼叫方法的一定是物件:列表、字典、字串,檔案也屬於物件。
1.開啟檔案
with open() as name 這樣開啟就不需要用close()函式了。
open('路徑','操作方式')
1)路徑:
'' : 當前同級目錄
'/' :根目錄
'./' :當前同級目錄
'../' :上級目錄
①絕對路徑:完整的描述檔案位置的路徑
②相對路徑:由這個檔案所在的路徑引起的跟其它檔案(或資料夾)的路徑關係。
2)操作方式:
①'r' >>唯讀操作
②'w' >>只寫操作 開啟檔案後就把檔案裡的內容清空了
③'a' >>新增操作 不清空,在後面新增
④『r+』 >>讀寫模式 必須是先讀. 因為預設游標是在開頭的. 準備讀取的. 當讀完了了之後再進行寫入,常用
⑤'w+' >>寫讀模式 先將所有的內容清空,然後寫入,最後讀取。
⑥'a+' >>追加讀 不論先讀還是後讀,都讀取不到資料。因為游標在最後面啊。
2.檔案的方法:
1)read() >>讀操作
引數:不加的話,預設全部讀出來;
加,乙個字元==乙個位元組
readline() >>一行一行的讀
2)write()
寫操作3)close() >>關閉檔案
用open開啟的檔案就需要用close關閉檔案,
因為對檔案進行操作時直譯器可以關,但不能準確的關,所以有風險。
4)tell() >>列印游標的位置
英文:乙個位元組 == 乙個字元
中文:三個位元組 == 乙個字元
及中文的話,列印乙個字元會出現3而不是1
5)seek() >>調整游標的位置
引數為 調整的位置
6)truncate() >>截斷,不給引數從檔案開頭截斷到當前位置,其餘內容刪除;
給引數,將從開頭開始截斷指定長度,其餘內容刪除。
7)flush() >>把快取裡的資料放入記憶體中
用法:做乙個進度條
多級選單程式優化**:
有些瑕疵,不過確實完成了返回上一級,以及隨時退出程式。同樣的程式,比起上乙個,**量少多了。
不過,只要能做出來就好了,現在還只是學習階段,**重構那是以後的事。
python基礎知識(四)
函式 基本形式 def greet print hello greet 輸出結果 hello 傳遞引數 def greet name print hello name greet xiao ming 輸出結果 hello xiao ming 形參與實參 形參是函式引數列表中宣告的引數 實參是實際傳遞...
python基礎知識 四 函式
def 函式名 pass 區域性變數和全域性變數 var 1 def fun print var var 200 print fun 函式fun 中給var賦值,說明var已經不是全域性變數了,所以在賦值之前想輸出var是錯誤的。globals是宣告全域性變數,globals 是輸出全域性變數 re...
Python基礎知識學習(四)
1 遍歷列表 list1 今天 天氣很好 123 456 abc xyz for x in list1 print x 輸出結果 今天 天氣很好 123 456 abc xyz 接下來,我們進一步遍歷 注意 這種方法只能適用於 元素的格式和數量都相同時 以這段 為例,上次遍歷之後格式都為 x,y 所...