文件操做

文件操做

定義:操做硬盤中的一塊區域:讀寫操做編碼

文件:硬盤中一塊存儲空間(虛擬的文件)spa

文件操做:根據文件名來操做硬盤的那塊存儲空間,操做方法:讀read寫write操作系統

'''
文件使用的三步驟
    1.打開文件
        變量名 = 文件空間
        #文件路徑、操做模式(讀|寫) ==>編碼
        f = open('a.txt','r',encoding='utf-8')
        
    2.操做文件
    讀:
        read : 將全部文件讀出來,若是設置長度,按照規定長度讀取
        readline:一次讀一行
        readlines:按行一次性所有讀出來
    模式:
        基礎寫
        文件不存在,會新建文件,再操做
        文件存在,會清空,再操做
        
        主模式:r 讀| w 寫| a 追加
        從模式:b 按字節操做 | t 按字符操做 | + 可讀可寫
        瞭解:x 異常寫 |U 被遺棄了
        
        
    3.關閉文件
        f.close() #釋放操做系統對文件的持有,變量f 還被應用程序持有
    
'''
文件的操做:
'''
#讀:
f.read() #讀取全部內容,光標移動到文件末尾,若是設置長度,按照規定長度讀取
f.readline() #讀取一行內容,光標移動到第二行首部,一次讀一行
f.readlines() #讀取每一行內容,存放於列表中,按行一次性所有讀出來

#寫:
f.write('1111\n222\n') #針對文本模式的寫,須要本身寫換行符
f.write('1111\n222\n'.encode('utf-8')) #針對b模式的寫,須要本身寫換行符
f.writelines(['333\n','444\n']) #文件模式
f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式

#瞭解
f.readable() #文件是否可讀
f.writable() #文件是否可讀
f.closed #文件是否關閉
f.encoding #若是文件打開模式爲b,則沒有該屬性
f.flush() #馬上將文件內容從內存刷到硬盤
f.name
'''
模式彙總:
*****

'''
    主模式:r 讀| w 寫| a 追加
    從模式:b 按字節操做 | t 按字符操做 | + 可讀可寫
    瞭解:x 異常寫 |U 被遺棄了
        
主模式:
    r: 讀,無建立,不能對文件進行任何操做
    w: 寫,有建立,有清空
    a: 追加,有建立,無清空
    
從模式:(從模式必須在主模式後面,不能單獨出現)
    t: 文本操做(默認模式)  r=>rt w=>wt a=>at
    b: 非文本文件必須採用二進制模式來處理
    +: 可讀可寫
    
主、從:
      r:讀,無建立,不能對文件進行任何操做
     r+:可讀可寫,無建立,不能對文件進行任何操做
     rb:二進制讀,無建立,不能對文件進行任何操做
    rb+:二進制讀寫,無建立,不能對文件進行任何操做
    
      w:寫,有建立,清空文件
     w+:可讀可寫,有建立,清空文件
     wb:二進制寫,有建立,清空文件
    wb+:二進制讀寫,有建立,清空文件
    
      a:追加,有建立,無清空
     a+:可讀可寫,有建立,不清空文件(追加)
     ab:二進制寫,有建立,不清空文件(追加)
    ab+:二進制讀寫,有建立,不清空文件(追加)
'''
遊標操做:

 

'''
百度網盤 - 秒傳
'''
'''
1. 如何使用遊標:遊標的相關方法
2. 遊標相關的讀寫操做
3. 根據遊標在大文件中取出多個指定位置的部分字節內容
'''

'''
方法:
seek(偏移量,偏移位置)  必須在b模式
    偏移量:移動的字節量,負數是結合模式1,2 往前偏移 (rb模式執行,d1.decode解碼)
    偏移位置:0  - 將遊標移至數據的開頭| 1  - 從當前遊標位置開始偏移 |2 - 從文件末尾開始偏移

例:
with open('job.TXT','rt',encoding='utf-8') as f:
    d1 = f.read()
    f.seek(0,0)
    print(d1)
    d2 = f.read()
    print(d2)
    pass
'''
相關文章
相關標籤/搜索