如何检查文件是否为空,并在写入前清空它?
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的回答。你可以先检查文件的大小,如果文件不为空,就跳过写入的代码。