我有这部分代码,我最初无法工作:with open ("Names.txt" , "r+") as f: f.seek(0) if f.read() == " ": print("No text") else: print("Got text")它应该检查文本文件是否有任何文本。但是,当我运行此代码时,即使文件为空,它也会始终返回“获取文本”。我找到了一种使它工作的方法:with open ("Names.txt" , "r+") as f: f.seek(0) if not f.read(): print("No text") else: print("Got text")所以我的问题是,为什么第二段代码有效而第一段无效?
3 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
只是不要像这样测试文件是否为空。
如果文件有 5 TB 大怎么办?它将尝试读取所有文件...
您可以尝试读取 1 个字节并查看是否为空:
if f.read(1):
# file isn't empty
else:
# file is empty
或者只是检查大小,无需打开,寻找,无论:
if os.path.getsize(filename):
# file isn't empty
else:
# file is empty
添加回答
举报
0/150
提交
取消