Python 文件對象

Python 文件對象函數

1)
內置函數 open() 用於打開和建立文件對象編碼

open(name,[,mode[,bufsize]])
    文件名、模式、緩衝區參數

      mode:
             r     只讀
             w     寫入
             a     附加 
             使用 + 同時支持輸入、輸出操做  r+   w+   a+
             附加 b 表示以二進制方式打開    rb   wb   ab
      bufsize:
            0       禁用緩衝
            1       使用緩衝,僅緩衝一行數據
            負數    使用系統默認緩衝
            正數    指定緩衝空間大小
  
   例如: file1 = open('/etc/fstab',r+)   
          
          注意使用  r  r+  不能打開不存在的文件會產生IO錯誤

2)文件的屬性spa

f.closed        顯示文件是否關閉
    f.name          顯示當前名稱
    f.encoding      編碼格式
    f.mode          當前文件打開模式
    f.softspace     在使用print語句時,是否在一個值以前打印空格,默認爲0。若需打印則   f.softspace = 1
    f.newlines      返回到當前爲止讀取到的行結束符字串,若無行分隔符則爲None

3)文件的方法指針

f.tell()         當前指針在文件中字節位置        f.tell(0)  
   f.next()         迭代顯示,不會移動指針
   f.close()        關閉文件
   f.fileno()       返回文件描述符
   f.readline()     讀取返回一行,會移動指針
   f.readlines()    以列表形式返回全部行
   f.read()         讀n個字節       f.read(10)
   f.write()        寫入數據
                         注意:    文件方法read()等在讀取文件時,會一併讀取其行結束符
                                  文件方法write()執行寫出操做時,不會自動爲其添加行結束符
   f.writelines()   將列表中全部字串當作一行寫入    
                        import os
                        l1 = os.listdir('/etc')
                        f1.writelines(l1)
                        f1.flush()
                        以上輸出爲一行
                        l2 = [ i + '\n' for i in os.listdir('/etc')]
                        f1.writelines(l2)
                        f1.flush()
                        此方法會保證每一個字串一行,用列表解析的方式在每次循環後加入換行符
  f.isatty()        是否爲終端設備文件
  f.truncate()      截取n個字節
                        f1.truncate(10)         截取10個字節
                        f1.truncate(f1.tell())  只截取到當前指針處
  f.seek(offset[,whence])      指針偏移位置
        whence: 起點
            0: 從文件頭
            1:從當前位置
            2:從文件尾部
        offset: 偏移量
                        f1.seek(0)  回到首部
  f.flush()          清除輸出緩衝區
相關文章
相關標籤/搜索