Python 新增txt文件不覆盖写入

Python 新增txt文件不覆盖写入

Python 新增txt文件不覆盖写入

在Python编程中,经常会遇到需要新增一个txt文件并向其中写入内容的情况。但是有时候我们希望在已有的txt文件中继续添加内容,而不是覆盖掉原有的内容。本文将介绍如何使用Python来实现在txt文件末尾继续写入数据的功能。

使用open函数以追加模式打开文件

在Python中,我们可以使用open函数来打开一个文件,并指定文件打开的模式。如果我们想在已有的文件末尾继续写入数据,可以使用追加模式(a)来打开文件。示例代码如下所示:

with open('geek-docs.txt', 'a') as file:
    file.write('Hello, geek-docs.com\n')

以上代码将在当前目录下创建一个名为geek-docs.txt的文件,并向其中写入Hello, geek-docs.com。如果文件已经存在,那么这行文本将被追加到文件的末尾。

运行以上代码后,可以打开geek-docs.txt文件查看写入的内容。可以看到,文件中已经包含了Hello, geek-docs.com这行文本。

使用open函数以读写模式打开文件

除了使用追加模式(a)来打开文件外,我们还可以使用读写模式(r+)来同时读取和写入文件。示例代码如下所示:

with open('geek-docs.txt', 'r+') as file:
    content = file.read()
    file.write('\nWelcome to geek-docs.com')
    file.write('\nWebsite for geeks')
    print(content)

以上代码首先使用read()方法读取了geek-docs.txt文件中的内容,并将其打印出来。然后向文件中写入了两行文本,并使用print语句将之前读取的内容输出到控制台。

运行以上代码后,可以看到控制台打印出了geek-docs.txt文件中的内容,并且在文件末尾成功写入了两行文本。

使用os.path模块判断文件是否存在

在实际应用中,我们可能需要判断一个文件是否存在,从而决定是新增一个文件还是在已有文件中继续写入。为了实现这一功能,我们可以使用os.path模块中的exists方法来判断文件是否存在。示例代码如下所示:

import os

file_name = 'geek-docs.txt'

if os.path.exists(file_name):
    mode = 'a'  # 追加模式
else:
    mode = 'w'  # 写入模式

with open(file_name, mode) as file:
    file.write('Python is amazing!')

以上代码首先定义了一个文件名geek-docs.txt,然后使用os.path.exists方法判断该文件是否存在。如果文件存在,则使用追加模式打开文件;如果文件不存在,则使用写入模式打开文件,并向其中写入Python is amazing!这行文本。

总结

通过以上示例代码,我们学习了如何在Python中实现新增txt文件不覆盖写入的功能。首先我们使用open函数以追加模式打开文件来实现继续写入数据的操作,然后我们介绍了读写模式的使用方式,最后我们使用os.path模块判断文件是否存在来做出相应的操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程