今天给大家讲讲如何通过Python来写文件。在日常开发中,将数据写入到文件中存储起来非常常见,废话不多说,开干!
一、开始
上一节《Python如何读取txt文件?》中,我们说到了通过open()函数可以读取文件内容,其实,还可以通过open()来写文件。仅需要在调用open()的时候额外传个参数即可。
代码示例如下:
#定义需要写入的文件名file_name='test.txt'#调用open()函数时,指定模式为w,w是write的缩写,表示写模式withopen('test.txt','w')asfile:#写入内容file.write("第一行数据")
open()函数允许我们调用时,指定相关模式:
- r:只读模式;
- w:写模式,往文件里面写内容;
- a:追加模式,往文件的末尾追加内容;
- r+:读写模式;
执行上面的代码,会在工程的目录下创建一个名为test.txt的文件,内容如下:
python写入文件结果
注意:Python只能将字符串写入到文本中,对于非字符串类型,你需要通过str()函数强转一下。
二、写入多行
接下来,我们尝试写入多行数据:
#定义需要写入的文件名file_name='test.txt'#调用open()函数时,指定模式为w,w是write的缩写,表示写模式withopen('test.txt','w')asfile:#写入内容file.write("第一行数据")file.write("第二行数据")
执行上面的代码,看下效果:
python写入多行内容结果
哎?怎么连在一起了!
原因是write()函数不会主动在文本写入末尾添加换行符,需要我们手动添加:
file.write("第一行数据\n")file.write("第二行数据\n")
再次执行代码就ok了:
python写入多行内容附加换行符
三、追加内容到文件中
我们再调用open()函数时,若不指定为追加模式a,默认会覆盖原有的内容。修改之前的代码,如下:
#定义需要写入的文件名file_name='test.txt'#调用open()函数时,指定模式为追加模式withopen('test.txt','a')asfile:#写入内容file.write("第三行数据\n")file.write("第四行数据\n")
执行代码,效果如下:
python写入内容,模式为追加模式
可以看到,是在之前内容的末尾追加的新内容,而不是覆盖原有内容。