python中的檔案流、序列化以及反序列化(物件流):
1.檔案流:
語法:
file_object = open(file_name, access_mode = ‘r’, buffering = -1)
open函式有很多的引數,常用的是file_name,mode和encoding
file_name:開啟的檔名,若非當前路徑,需指定具體路徑
access_mode:開啟檔案的模式
encoding:指定資料的字元編碼格式
常用方法:
1. file.close(); 關閉檔案。關閉後文件不能再進行讀寫操作。
2. file.flush(); 重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。
3. file.fileno(); 返回一個整型的檔案描述符(file descriptor FD 整型), 可以用在如os模組的read方法等一些底層操作上。
4. file.isatty(); 如果檔案連線到一個終端裝置返回 True,否則返回 False。
5. file.next(); 返回檔案下一行。
6. file.read([size]); 從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。
7. file.readline([size]); 讀取整行,包括 "\n" 字元。
8. file.seek(); 設定檔案當前位置
9. file.tell(); 返回檔案當前位置
10. file.truncate([size]) 從檔案的首行首字元開始截斷,截斷檔案為 size 個字元,無 size 表示從當前位置截斷;截斷之後後面的所有字元被刪除,其中 Widnows 系統下的換行代表2個字元大小。
11. file.write(); 將字串寫入檔案,返回的是寫入的字元長度。
12. file.writelines(序列); 向檔案寫入一個序列字串列表,如果需要換行則要自己加入每行的換行符。
開啟檔案的模式:
1. r ,只讀模式【預設模式,檔案必須存在,不存在則丟擲異常】
2. w,只寫模式【不可讀;不存在則建立;存在則清空內容】
3. x, 只寫模式【不可讀;不存在則建立,存在則報錯】
4. a, 追加模式【可讀; 不存在則建立;存在則只追加內容】,檔案指標自動移到檔案尾。
"+"表示可以同時讀寫某個檔案
5. r +, 讀寫【可讀,可寫】
6. w +,寫讀【可讀,可寫】,消除檔案內容,然後以讀寫方式開啟檔案。
7.x + ,寫讀【可讀,可寫】
8. a +, 寫讀【可讀,可寫】,以讀寫方式開啟檔案,並把檔案指標移到檔案尾。
"b"表示以位元組的方式操作,以二進位制模式開啟檔案,而不是以文字模式。
9.rb或r + b
10. wb 或w + b11.ab或a + b
2.序列化:
2.反序列化: