在该计划的这个特定部分,我无法理解为什么.startswith
功能不是第一个使用的功能:
for line in fhand:
line = line.rstrip()
if not line.startswith('From ') : continue
words = line.split()
print words[2]
我的意思是,它不会比开始时剥离每一行更快吗?为什么或者为什么不?
答案 0 :(得分:1)
这不是第一个,因为你的行可能以空格结尾。请考虑以下字符串:
"From somebody"
"From "
您在上面发布的版本会删除尾随空格,分别留下"From somebody"
和"From"
。对于第二个字符串,startswith
现在返回False
而不是True
作为具有交换函数的版本。
我想这是某种形式的验证,即在"From "
部分之后存在实际内容,与空白相比,它不会被剥夺。