通過w的打開方式打開文件,會清空文件的內容,這在很多場景下是不合適的,比如寫系統日志的時候,需要累積隨時間推移的所有數據。
Python提供文件追加內容的打開模式,可以往文件尾部添加內容,又不清空文件原有的內容。
模式 |
描述 |
a |
打開一個文件并追加內容,會往文件尾部添加內容 |
ab |
以二進制格式打開一個文件并追加內容,會往文件尾部添加內容 |
a+ |
打開一個文件并使用追加進行讀寫 |
f = open('test.txt', 'a') f.write('Hello Everyone\n') f.close()
使用a的打開方式打開文件,文件游標默認是在文件的尾部,因此,可以便捷的往文件尾部添加內容,除此以外,文件對象還提供seek()方法,可以移動文件的游標位置,它接受一個參數,表示文件的位置,0:文件首部,1:當前位置,2:文件尾部,通過seek()可以把文件游標移動到文件首部但不刪除文件的內容。
?f = open('test.txt', 'a+') content = f.readlines() print(content) # ==> [] f.seek(0) content = f.readlines() print(content) # ==> ['Hello World\n', 'Hello Python\n', 'Hello Imooc\n']
第一次print(content)的時候,由于文件游標在文件的尾部,所以readlines()讀取不到任何數據,打印了空的結果,第二次print(content)的時候,由于通過seek(0),文件游標移動到了文件的首部,因此readlines()就返回了文件所有的內容。
假設test.txt文件有以下內容:
Hello World Hello Python Hello Imooc
請將文件的內容重復寫一份追加到文件的尾部。
請同學在本地編寫代碼練習
參考答案:
f = open('test.txt', 'a+') f.seek(0) content = f.readlines() f.seek(2) for line in content: f.write(line) f.close()
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報