和從文件中讀取數(shù)據(jù)相反,將數(shù)據(jù)寫入文件是一種優(yōu)秀的儲(chǔ)存數(shù)據(jù)的方式,即便我們退出程序這些數(shù)據(jù)仍然會(huì)存放在文件中,這個(gè)我們使用和分享數(shù)據(jù)提供了很大的便利。
和讀取文件一樣,也需要調(diào)用 open()方法打開文件。不同點(diǎn)在于在打開需要告訴 Python 系統(tǒng)我們是要對(duì)文件進(jìn)行寫入。但是通過傳入第二個(gè)實(shí)參實(shí)現(xiàn)的,可以選擇只讀模式 ('r' )、寫入模式 ('w' )、附加模式 ('a' )或讓讀寫模式('r ' )。在讀取文件時(shí)我們只向方法傳遞一個(gè)參數(shù) filename 文件名稱或文件路徑,而沒有傳輸?shù)诙€(gè)參數(shù)的原因是,Python將以默認(rèn)的只讀模式打開文件。將今天日期寫入指定文件的語句如下
其中 filename 用于傳遞文件名(和程序在同一目錄時(shí))或文件路徑(和程序文件不再同一目錄時(shí)),如果 Python 按照 filename 找不到對(duì)應(yīng)的文件,寫入模式的 open()方法將會(huì)按照參數(shù)創(chuàng)建一個(gè)文件。這一點(diǎn)和只讀模式的open()方法不同,不會(huì)報(bào)出 FileNotFoundError。需要注意的是寫入的數(shù)據(jù)必須是字符串格式,如果想要存儲(chǔ)其他格式的數(shù)據(jù)需要先使用 str()進(jìn)行轉(zhuǎn)化。另一點(diǎn)需要注意的是如果指定的文件本身保存有數(shù)據(jù),寫入模式的 open()方法在返回文件對(duì)象前會(huì)將原有內(nèi)容清空。如果你不想丟失原有數(shù)據(jù)而是在原有數(shù)據(jù)的基礎(chǔ)上繼續(xù)寫入新的數(shù)據(jù),這種情況下應(yīng)該使用附加模式 ('a' )打開文件這樣新寫入的數(shù)據(jù)都會(huì)添加到文檔尾部。
with open(filename, 'a') as file_object: file_object.write('2019-05-29')
聯(lián)系客服