Python open() 方法用於打開一個文件,並返回文件對象,在對文件進行處理過程都需要使用到這個函數
1. 讀取文件
with open('test_json_dumps.txt', mode='r', encoding='utf-8') as f: # seek()移動光標至指定位置 f.seek(0) # read()讀取整個文件,將文件內容放到一個字符串變量中,文件大於可用內存時不適用 res = f.read() print(res) # readline()每次只讀取一行,通常比readlines() 慢得多 res = f.readline() print(res) # readlines() 一次讀取整個文件,將內容分析成一個行的列表,可以由for...in...處理 res = f.readlines() print(res)
- seek()移動光標至指定位置
- read()讀取整個文件,將文件內容放到一個字符串變量中,文件大於可用內存時不適用
- readline()每次只讀取一行,通常比readlines()慢得多
- readlines() 一次讀取整個文件,將內容分析成一個行的列表,可以由for...in...處理
- 注意:這三種方法是把每行末尾的'\n'也讀進來了,它並不會默認的把'\n'去掉,需要我們手動去掉(.strip('\n')
2. 寫入文件
with open('test_json_dumps.txt', mode='r', encoding='utf-8') as f: # seek()移動光標至指定位置 f.seek(0) # write()將字符串寫入到文件中 f.write('Content') # 針對列表的操作,接受一個字符串列表作為參數,將字符串列表寫入到文件,換行符不會自動加入,需要顯式加入換行符 f.writelines('Content')
- write()將字符串寫入到文件中
- writelines()針對列表的操作,接受一個字符串列表作為參數,將字符串列表寫入到文件,換行符不會自動加入,需要顯式加入換行符
3. 文件打開模式
- 'r':打開只讀文件,該文件必須存在
- 'w':打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件
- 'a':以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留
- 'r+' : r+w(可讀可寫,文件若不存在就報錯(IOError))
- 'w+' : w+r(可讀可寫,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件)
- 'a+' : a+r(可追加可寫,若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留)