gpt4 book ai didi

python - If 语句未捕获文件中的空行

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:17 27 4
gpt4 key购买 nike

我目前正在编写一个静态函数,其中打开的文件对象作为参数传入。然后它读取文件,如果该行为空,则返回 False。如果该行不为空,它将使用相关行加上接下来的三个行来创建 Person 类的新对象(该类正在我的模块中设计)。由于某种原因,无论我尝试什么方法,我的 if 语句都无法捕获换行符,并且因此不断出现错误。我做错了什么?

@staticmethod
def read_person(fobj):
p_list = []
for line in fobj:
if line.isspace() or line == "\n":
return False
else:
p_list.append(line)
return Person(p_list[0],p_list[1],p_list[2],p_list[3])

感谢您的帮助!

最佳答案

你想要的魔法是:

if line.strip() == "":

您可能会陷入空行处理中所有可能的小情况。是空格换行吗?空间-空间-换行符?制表符换行符?空格-制表符-换行符?等等

所以,不要检查所有这些情况。使用 strip() 删除所有左右空白。如果剩下一个空字符串,那么它就是一个空行,而 Bob 是你的叔叔。

关于python - If 语句未捕获文件中的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32898323/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com