为了账号安全,请及时绑定邮箱和手机立即绑定

检查文本文件是否为空

检查文本文件是否为空

慕婉清6462132 2021-08-24 17:23:42
我有这部分代码,我最初无法工作: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


查看完整回答
反对 回复 2021-08-24
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

也许,因为在第一种情况下,您不是与空字符串 ( "")进行比较,而是与包含单个空格 ( " ")的字符串进行比较。


查看完整回答
反对 回复 2021-08-24
  • 3 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信