前面我們學習了文件讀取用open(),寫入用的模式為“r”。寫入的方法分為:read()全部寫入,readable()判斷是否可寫入,readline()讀取一行(若需要讀取多行,需
多次調用,其中有limit參數,默認-1全部讀取,若填寫具體數值,則表示讀取的字符個數),readlines()讀取所有行,以列表形式返回。
今天我們要說的就是寫入文件。
寫入文件用的模式是“w”。用到的方法有如下幾種:
1、write(),當用“w”模式時,write()表示清空后寫入。
2、writeable(),判斷文件是否可寫入。
3、writelines(),寫入多行,以列表(可迭代對象)方式寫入(分行需要在每行需要將\n符加上)
現在我們就來看栗子:
write()的栗子:
file_stream = open("123.txt", "w", encoding="utf-8") file_stream.write("""this is a txt file hello world hello my honey""")
首先,打開文件,獲取文件流。
然后,調用write()方法,寫入文本(此處用的時保留格式的字符串)
我們來看一下123.txt
writeable()栗子:
file_stream = open("123.txt", "w", encoding="utf-8") rul = file_stream.writable() print(rul)
返回結果:
D:\python\python.exe E:/practicemore/fff.py
True
我們可以看到,返回了一個布爾值True,說明文件是可寫入的。
writelines()栗子:
首先我們看一下123.txt:
用writelines()寫入:
file_stream = open("123.txt", "w", encoding="utf-8") file_stream.writelines(["hello world\n", "i love python"])
結果:
我們可以看到:
1、w模式下,write將目標文件中的內容清除后再寫入
2、換行符生效,說明如果需要換行,則需要自行加入換行符
我們如果需要不清空內容,而是在其后寫入內容,該怎么辦。
可以用追加模式a
看如下栗子:
file_stream = open("123.txt", "a", encoding="utf-8") file_stream.writelines(["\n","hello world\n", "i love java"])
結果:
我們可以看到,此處寫入未清空原有內容,而是在其后追加寫入內容了。