write()/writelines()写入数据
write(a):
用于把指定字符串写入到文件中。
writelines(b):
用于向文件中写入一序列的字符串,这一序列字符串可以是由迭代对象产生的,如一个字符串列表。
换行需要制定换行符 \n。
【例】添加字符串列表数据到文件中
f = open(r'f:\a.txt', 'w', encoding='utf-8')
s = ['学习的第一天,OK\n', '学习的第二天,OK', '学习的第三天,OK']
f.writelines(s)
f.close()
运行结果:
close()关闭文件流
由于文件底层是由操作系统控制,所以为释放操作系统资源,我们打开的文件对象必须显式调用 close()方法关闭文件对象。当调用 close()方法时,首先会把缓冲区数据写入文件(也可以直接调用 flush()方法),再关闭文件,释放文件对象。(解释器将write方法要写的内容写到硬盘中的文件的过程:解释器打开一个文本文件对象,写入或者删除的内容放在文本文件对象的缓冲区里面,调用flush方法,缓冲区的操作真正作用在硬盘文件上。)
为了确保打开的文件对象正常关闭,一般结合异常机制的 finally 或者 with 关键字实现,无论何种情况都能关闭打开的文件对象。
【例】结合异常机制 finally 确保关闭文件对象
try:
f = open(r'f:\a.txt', 'w', encoding='utf-8')
s = ['学习的第一天,OK\n', '学习的第二天,OK', '学习的第三天,OK']
f.writelines(s)
except BaseException as e: # 这句没有也可以执行,这是严谨的写法。
print(e)
finally:
f.close()