前面我们学习了文件读取用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"])
结果:
我们可以看到,此处写入未清空原有内容,而是在其后追加写入内容了。