Python3.3 學習筆記6 - 文件


使用open打開文件后一定要記得調用文件對象的close()方法。比如可以用try/finally語句來確保最后能關閉文件。(不能把open語句放在try塊里,因為當打開文件出現異常時,文件對象file_object無法執行close()方法。)

  • 文件屬性:
    • closed     #標記文件是否已經關閉,由close()改寫
    • encoding #文件編碼
    • mode      #打開模式 r w a U
    • name      #文件名
    • newlines  #文件中用到的換行模式,是一個tuple
    • softspace #boolean型 ,一般為0,據說用於print
  • 打開文件:open(路徑+文件名,讀入模式,緩存區),后面兩項可選
    • 讀入模式(可疊加使用):
      • r只讀(默認),
      • w寫入(會覆蓋原有文件),
      • x新建並寫入,
      • a追加(如果文件不存在,創建對應文件),
      • b二進制模式,
      • t文本模式,
      • +讀寫文件,
      • U提供通用換行符。
    • 舉例:file1 = open('c://test.txt', 'wb+'),以二進制讀寫模式打開test.文件,注意路徑需要使用//
  • 讀入文件內容:
    • file1.read([size]):size為讀取長度,以byte為單位,若size未指定則返回整個文件。如果文件大小>2倍內存則有問題。f.read()讀到文件尾時返回""(空字串)
    • file1.readline([size]):讀出一行數據的size個字符到行尾,若size未指定,返回整行數據。
    • file1.readlines([size]):返回包含size行的列表,size 未指定則返回全部行。
  • 寫入或追加文件內容w,a:關閉文件:
    • file1.write(string):寫入一個字符串,原有文件內容會被刪除。(只能寫入一行數據,換行用'\n'或者寫入字符串就已經換行。)
    • file1.writelines(list或者tuple):將列表或者元組按照行寫入文件。
    • file1.append(string):追加新加內容到文件末尾
  • 指針相關關閉文件:file1.colse()
    • file1.tell():返回一個表示當前文件指針位置的整數
    • file1.seek(偏移量,[起始位置]):移動文件指針(偏移量:以比特為單位,可正可負;起始位置:00文件頭,默認值,1-當前位置,2-文件尾)

 

其他補充

  • 使用pickle模塊在文件中存儲和恢復python對象,例:
  • testFile = open('pickle.txt','w')
    #and import pickle
    import pickle
    testDict = {'name':'Chen Zhe','gender':'male'}
    pickle.dump(testDict,testFile)
    testFile.close()
    testFile = open('pickle.txt','r')
    print pickle.load(testFile)
    testFile.close()
  • python中統一用\n換行,用U模式打開文件,就是支持所有的換行模式,也就說‘\r’ '\n' '\r\n'都可表示換行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM