【发布时间】:2019-04-24 08:13:47
【问题描述】:
我有这部分代码,我原本无法开始工作:
with open ("Names.txt" , "r+") as f:
f.seek(0)
if f.read() == " ":
print("No text")
else:
print("Got text")
它应该检查文本文件是否有任何文本。
但是,当我运行这段代码时,它总是会返回“Got text”,即使文件是空的。
我找到了让它工作的方法:
with open ("Names.txt" , "r+") as f:
f.seek(0)
if not f.read():
print("No text")
else:
print("Got text")
所以我的问题是,为什么第二段代码有效,而第一段无效?
【问题讨论】:
-
if f.read() == " "检查空格,而不是空字符串。你知道吗? -
“一个空格”不等于“空”。
-
不要读取文件以查看它是否为空...只需检查大小:
os.path.getsize(filename)
标签: python