python写文件操作(python从零开始写文件)
今天我就来告诉大家如何通过写文件。在日常开发中,将数据写入文件并存储是很常见的,废话不多说,开始吧!
在上一节“如何读取一个txt文件?”中,我们提到可以通过open()函数来读取文件内容。其实也可以通过open()来写入文件。你只需要在调用 open() 时传递一个额外的参数。
代码示例如下:
# 定义要写入的文件名
= '测试.txt'
# 调用open()函数时,指定模式为w,w是write的缩写,表示写入模式
以 open('test.txt', 'w') 作为文件:
# 写入内容
file.write("第一行数据")
open() 函数允许我们在调用时指定相关模式:
r:只读模式;
w:写入模式,将内容写入文件;
a:模式,将内容追加到文件末尾;
r+:读写模式;
执行上面的代码会在项目目录下创建一个名为test.txt的文件,内容如下:
写入文件结果
注意:文本中只能写入字符串。对于非字符串类型,需要使用str()函数强制执行。
接下来,我们尝试写入多行数据:
# 定义要写入的文件名
= '测试.txt'
# 调用open()函数时,指定模式为w,w是write的缩写,表示写入模式
以 open('test.txt', 'w') 作为文件:
# 写入内容
file.write("第一行数据")
file.write("第二行数据")
执行上面的代码,看看效果:
写入多行内容结果
嘿?他们为什么连在一起!
原因是write()函数不会主动在文本写入的末尾添加换行符,需要我们手动添加:
file.write("第一行数据")
file.write("第二行数据")
再次执行代码就可以了:
编写附加换行符的多行内容
当我们再次调用open()函数时,如果不指定追加方式a,默认会覆盖原来的内容。修改之前的代码如下:
# 定义要写入的文件名
= '测试.txt'
# 调用open()函数时,指定模式为模式
以 open('test.txt', 'a') 作为文件:
# 写入内容
file.write("第三行数据")
file.write("第四行数据")
执行代码,效果如下:
写入内容,方式为方式
可以看出,新内容是追加在之前内容的末尾,而不是覆盖原来的内容。