如何检查文件是否为空,并在写入前清空它?

1 投票
4 回答
15067 浏览
提问于 2025-04-16 01:19
myfile = open('out.txt', 'a')  
myfile.write(caption)

我每次运行脚本的时候都会写一些东西。但是在第一次运行之后,它会不断地把相同的数据添加到文件里。我该怎么检查文件是否为空,然后只在文件为空的时候写入数据呢?

4 个回答

3

你可以用 file.read([size]) 来检查一个文件是否为空。如果第一次调用这个方法返回 None,那么这个文件就是空的。

可以看看 Python 的文档

5

你可以通过以下方式来检查目标文件的大小:

import os
b = os.path.getsize("path_to_file")
11

如果你想先清空文件里的任何现有数据,然后再写入你的输出,不管文件之前是否是空的,这个很简单:只需要使用

open('out.txt', 'w')

'w' 代表“写入”,'a' 代表“追加”。

如果你想检查文件里是否有数据,如果有数据就不写任何东西,那么可以参考Hypnos的回答。你可以先检查文件的大小,如果文件不为空,就跳过写入的代码。

撰写回答