![c86f8883204bf485837a7324952fe576.png](https://i-blog.csdnimg.cn/blog_migrate/326369d395017cef95e54f209c4e71e0.jpeg)
Hello,everybody! Welcome to xiaojing’s channel, It’s the Python time~
今天小鲸给大家介绍如何通过Python写入文件,大家一起来看看吧!
如果,我们想保存数据,最简单的方式就是将其写入文件中,在程序结束运行后,我们仍然可以读取文件。
写入空文件
要想将文本写入文件,在调用open()函数时需要提供另外的实参,例如以下例子:
![605cee2c0753cd9593836587631b2df1.png](https://i-blog.csdnimg.cn/blog_migrate/e335978ae05000d2051f51b1ca59ffc9.jpeg)
我们在调用open()函数时,一共提供了两个实参,第一个“Xiaojing.txt”是要文件的名称,如果该文件不存在,函数open()会自动创建;第二个“w”是告诉Python,我们要以写入模式来打开这个文件。
打开文件时,有以下几种模式:“r”——读取模式、“w”——写入模式、“a”——附加模式以及“r+”——能够读取与写入模式。如果省略了模式实参,那Python默认以只读模式打开文件。如果打开的文件存在,以写入模式打开时,Python在返回文件对象时候会清空该文件。
于是,通过上述程序运行,我们会在程序的所在目录创建一个名为Xiaojing的TXT文件:
![e876c45fd25b334a6600d0db82ebd27f.png](https://i-blog.csdnimg.cn/blog_migrate/a7a4ab40eb3941dfe2392c8d73f3b84f.jpeg)
写入多行
函数write()在写入文本时,不会在文本末尾添加换行符,如果输入多行文本,可能出现以下情形:
![499b056cb9829cc3f12e6ad6592b4d93.png](https://i-blog.csdnimg.cn/blog_migrate/2e33bf35fc3147e9c0cf10a17b3261e2.jpeg)
![a9e7363f465b3fb796ee194b6430a4ec.png](https://i-blog.csdnimg.cn/blog_migrate/89181a79ba6a1b3e5162c9693d6e0071.jpeg)
因此,如果要让每个字符串单独占一行,需要在write()语句中包含换行符。在Python中通常会用n来表示换行:
![c929fdd81ec45c2d8bd968a4d865ed58.png](https://i-blog.csdnimg.cn/blog_migrate/fd97769781ea5748b9101acf94ec35d9.jpeg)
最终输出的结果会在不同行:
![edb3ae36cbc4eca8ef83333bde65b4ec.png](https://i-blog.csdnimg.cn/blog_migrate/8f8f28cb3d181c037f6f76398c70651a.jpeg)
附加到文件
如果要给文件添加内容,而不是覆盖内容,那可以使用附加模式打开文件,如果使用附加模式,写入文件的文本会添加到文件的末尾,如果指定的文件不存在,同样Python也会创建一个空文件。
下面来使用附加模式来修改文件Xiaojing.txt:
![64cd341bd08e9eff4d7cfc1e2c1ffa5f.png](https://i-blog.csdnimg.cn/blog_migrate/a915444ad1ac6f1d3c4b37b932396dbf.jpeg)
得到的输出结果如下所示:
![9b90566c74fa80c7f924d07fd15bcf24.png](https://i-blog.csdnimg.cn/blog_migrate/d14b21711ccb03e0a4c8e305ced63591.jpeg)
最终的文件除了原有的文字外,还有我们添加的两行内容。
今天的小鲸channel内容比较简单,相信大家肯定对写入文件都了解的可以了,明天小鲸就带大家一起探索Python的异常现象吧~明天,同一时间锁定小鲸channel~明天再会哦~ 关注小鲸融创,一起学习Python,学习金融科技!
![3164001a186a373e742e978b346e603d.png](https://i-blog.csdnimg.cn/blog_migrate/9113e9eef81cb03b25bffb382ac9c62c.jpeg)
本文编辑/yyh