有条件地写入文件的最有效方法是什么?

2024-04-20 02:40:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个字符串到一个文件只有当它目前不在文件中。你知道吗

我的第一个想法是这样做,但它没有写入任何文件。你知道吗

with open("FILE PATH", "a+") as database:
    for lines in database.read():
        if 'MY STRING' in lines:
            continue
        else:
            database.write('MY STRING')

首先,我做错什么了?第二,假设这是正常运作,会有一个更有效的方法来做到这一点吗?我想是的。你知道吗

谢谢


Tags: 文件path字符串inforreadstringif
1条回答
网友
1楼 · 发布于 2024-04-20 02:40:19

使用database.read()将读取文本文件并返回包含整个文件的单个字符串。在该字符串上循环将分别返回该字符串中的每个字符,因此在其中找不到'MY STRING'。只需在整个文件中查找'MY STRING',如下所示:

with open("FILE PATH", "a+") as database:
    if 'MY STRING' not in database.read():
        database.write('MY STRING')

你不需要第一个if语句,因为它只是一个continue,像这样你只有一个if,这样效率会更高一些。你知道吗

相关问题 更多 >