Python的I/O读和追加(写)

2024-06-02 06:06:23 发布

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

我正在学习python,我看到了处理文件流的“a+”模式。为什么我不能像下面的代码那样先读取并检查文件是否包含任何内容,然后根据评估结果写入?在

with open('output.txt', 'a+') as logfile:
    textOfFile = logfile.read()
    if textOfFile != '':
        logfile.write("\r\nFile contains text")
    else:
        logfile.write("\r\nFile is empty")

上面的代码给了我以下错误:

^{pr2}$

我是做错了什么事还是做不到?那么“a+”的意义是什么?在


Tags: 文件代码txt内容readoutputifas
1条回答
网友
1楼 · 发布于 2024-06-02 06:06:23

a+文件模式附加到文件,而不覆盖其当前内容。为了解决您的问题,您需要首先以读取模式读取文件,这是默认模式,如下所示:

text_r = open('text.txt').read()
text_a = open('text.txt', 'a+')

if text_r != '':
    text_a.write('\r\nFile contains text')
    text_a.close()

else:
    text_a.write('\r\nFile is empty')
    text_a.close()

相关问题 更多 >