如何检查文件是否为空?如果没有,在写之前将其清空?

The*_*ner 1 python file-io

myfile = open('out.txt', 'a')  
myfile.write(caption)
Run Code Online (Sandbox Code Playgroud)

每当我的脚本运行时,我会写这样的东西.但是在第一次运行之后,它继续向文件添加相同的数据.如何检查它是否为空,并告诉它只有在空的情况下才能写入?

Dav*_*d Z 9

如果你想首先清除文件中的任何现有数据并写出你的输出文件是否为空,那很简单:只需使用

open('out.txt', 'w')
Run Code Online (Sandbox Code Playgroud)

'w'意思是"写",'a'意思是"追加".

如果你想检查文件中是否有数据,如果有数据则根本不写任何内容,那么Hypnos的回答是合适的.如果文件不为空,请检查文件大小并跳过文件写入代码.


小智 5

您可以使用以下命令检查目标文件的文件大小:

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