1. 程式人生 > >python中的檔案流、序列化以及反序列化(物件流):

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.反序列化