我遇到了以下问题: 我正在尝试通过电子邮件进行主题和比较(它保存在磁盘上,UTF-8中的电子邮件)
import re
def check_subj():
subj = ""
file = open("/home/hikaru/Desktop/sub.eml", "r")
for line in file:
try:
a = re.search("Subject:\ ", line, re.IGNORECASE)
a = line[a.end():]
subj = a
break
except AttributeError:
pass
return subj
print(check_subj())
if check_subj() == 'sub':
print("yay")
对我来说一切似乎都很好,“打印”成功地向我展示了“sub”,但对比不会为我打印“yay”。 我无法理解为什么 - (
答案 0 :(得分:2)
如建议的那样,行尾可能是您遇到问题的原因。这是一个更强大的解决方案(仅限循环)
for line in file:
match = re.search("Subject:\ (.*)", line, re.IGNORECASE)
if match:
subj = match.group(1)
break