ad

打开《Python 编程与应用实践》_成为Python大佬_7.3.2 文件的写入

网友投稿 102 2023-11-13

【摘要】 本书摘自《Python 编程与应用实践》一书中第7章,第3节,由冯伟森,王建,杨宁主编。

7.3.2 文件的写入

我们在编写程序的时候可能会使用各种各样的数据,为了防止数据信息丢失,最常用 的方法就是将数据保存在文件中,也可以说将数据写入到文件中。我们可以在任何时刻去 使用文件内容,即便程序终止运行,文件中依然存放着我们需要的数据。

例7.4 在空文件内写入数据。

要将文本写入文件,只需在调用open() 时提供另一个实参,告诉 Python 要写入打开 的文件:

打开《Python 编程与应用实践》_成为Python大佬_7.3.2 文件的写入

fileName="text.txt"

with open(fileName,'w')as f:

f.write("hello world")

在这个示例中,调用open() 时提供了两个参数:第一个参数代表打开的文件名称, 当该文件不存在时 Python 会自动创建该文件,如果打开的文件存在的话, Python 将在返 回文件对象前清空该文件。第二个参数('w') 会告诉 Python, 将以写入模式打开这个文 件。用户也可以使用读取模式(r¹) 、 写入模式('w') 、附加模式('a') 或能够读取和写入 文件的模式('r+') 。 如果省略了模式实参, Python 将以默认的只读模式打开文件。

我们使用文件对象的方法 write() 将一个字符串写入文件。这个程序没有终端输出, 但如果打开文件 text.txt, 将看到其中包含如下一行内容;

hello world

当然,用户还可以对文件 text.txt 中的文件内容进行修改、删除、增加等操作。

注意: Python 只能将字符串写入文本文件。要将数值数据存储到文本文件中,必须 先使用函数 str() 将其转换为字符串格式。

例7.5 在文件内写入多行数据。

由于函数 write() 不会在写入的文本末尾自动添加换行符,因此,如果写入多行时没 有指定换行符,文件写入的所有内容会都排列在一行。要想让每个字符串都单独占一行, 需要在 write() 语句中包含换行符,如下所示:

fileName="text.txt"

with open(fileName,'w')as f:

f.write("hello world\n")

f.write("hello Python \n")

我们在 text.txt 文本中写入两行字符串,在 write() 语句的末尾都加上了换行符,打 开 text.txt 文件,我们会看到写入的效果:

hello world

hello Python

例7.6 在文件原有的数据基础上增加新数据。

如果要给文件添加内容,而不是覆盖原有的内容,可以附加模式打开文件。以附加模 式打开文件时, Python 不会在返回文件对象前清空文件,而写入到文件的行都将添加到 文件末尾。如果指定的文件不存在, Python 将为用户创建一个空文件。我们继续使用例 7.5中的例子,我们知道例7.5运行完了以后文件中已经有了如下两行数据

hello world

hello Python

接下来我们更改一下程序,将写入模式'w 改为附加模式'a', 写入的内容变化一下: fileName="text.txt"

with open(fileName,'a')as f:

f.write("hello world.…\n")

f.write("hello Python.…\n")

我们再次打开 text.txt 文件,将看到如下效果:

hello world

hello Python

hello world …

hello Python..

通过以上示例我们可以看出,以附加模式打开文件再对文件写入新数据,文件原有的 数据不会被清空,重新写入文件的数据会被添加到原有数据之后,这样我们就不会担心原 有数据被丢失。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_1.1 Python 基础导入
下一篇:学习《Python网络爬虫 从入门到精通》_掌握爬虫的精髓_2.2.2 正则表达式的简单使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×