我的计数是否正常,如何在txt文件中打印计数?python

我的计数是否正常,如何在txt文件中打印计数?python,python,python-3.x,Python,Python 3.x,这是我的柜台代码: import mailbox import pprint f=open("results.txt","w") mbox = mailbox.mbox('c:\documents and settings\student\desktop\mail\mail.mbox') count = 0 for msg in mbox: pprint.pprint(msg._headers, stream=f) if "('Delivered-To', 'example@exampl

这是我的柜台代码:

import mailbox
import pprint
f=open("results.txt","w")
mbox = mailbox.mbox('c:\documents and settings\student\desktop\mail\mail.mbox')
count = 0
for msg in mbox:
 pprint.pprint(msg._headers, stream=f)

  if "('Delivered-To', 'example@example')" in msg:
   count += 1
f.close()
此代码生成一个txt文件,看起来像这样,但有100多个电子邮件标题集:

[('X-GM-THRID', '1484400558228312046'),
('X-Gmail-Labels', 'Sent'),
('MIME-Version', '1.0'),
 ('Received',
'by 10.202.231.132 with HTTP; Mon, 10 Nov 2014 07:51:27 -0800 (PST)'),
('Date', 'Mon, 10 Nov 2014 15:51:27 +0000'),
('Delivered-To', 'example@example.com'),
('Message-ID',
'<CAHDwN6i84XGCDAS1+tF_inF=C1ej2BC1af=hJuUab4BqSZf4Qg@mail.gmail.com>'),
('Subject', ''),
('From', '<example2@example2.com>'),
('Content-Type',
'multipart/alternative; boundary=089e01161dfeb060ca05078322b4')]
[('X-GM-THRID', '1482959797700709980'),
('X-Gmail-Labels', 'Inbox,Unread'),
('Delivered-To', 'example@example.com'),
('Received',
'by 10.202.231.132 with SMTP id e126csp70807oih;\n Sat, 25 Oct 2014 11:11:11 -0700       (PDT)'),
('X-Received',
'by 10.194.94.132 with SMTP id dc4mr13227493wjb.56.1414260671373;\n Sat, 25 Oct 2014     11:11:11 -0700 (PDT)'),
('Return-Path', '<robot@one.com>'),
('Received',
'from crm-mailrelay2.public.one.com (crm-mailrelay2.public.one.com. [195.47.247.171])\n     by mx.google.com with ESMTPS id l5si5515662wix.22.2014.10.25.11.11.10\n for     <example@example.com>\n (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);\n Sat, 25     Oct 2014 11:11:11 -0700 (PDT)'),
('Received-SPF',
'pass (google.com: domain of robot@one.com designates 195.47.247.171 as permitted     sender) client-ip=195.47.247.171;'),
('Authentication-Results',
'mx.google.com;\n spf=pass (google.com: domain of robot@one.com designates     195.47.247.171 as permitted sender) smtp.mail=robot@one.com;\n dmarc=pass (p=NONE dis=NONE)     header.from=one.com'),
('Received',
'from crmjb2.one.com (unknown [195.47.247.191])\n\tby crm-mailrelay2.public.one.com     (Postfix) with ESMTP id 627B37D3\n\tfor <example@example.com>; Sat, 25 Oct 2014 18:11:10     +0000 (UTC)'),
('Received',
'from crmjb2.one.com (localhost [127.0.0.1])\n\tby crmjb2.one.com (Postfix) with ESMTP     id 57E7845974\n\tfor <example@example.com>; Sat, 25 Oct 2014 18:11:10 +0000 (UTC)'),
('From', 'robot@one.com'),
('To', 'example@example.com'),
('Message-ID', '<318220617.806451414260670358.JavaMail.root@crmjb2.one.com>'),
('Subject', 'A new drive was created'),
('MIME-Version', '1.0'),
('Content-Type',
'multipart/related; type="multipart/alternative"; \n\tboundary="----  =_Part_154133_94897872.1414260670358"'),
('Date', 'Sat, 25 Oct 2014 18:11:10 +0000 (UTC)')]
[('X-GM-THRID','1484400558228312046'),
('X-Gmail-Labels','Sent'),
('MIME-Version','1.0'),
(“收到”,
“于2014年11月10日(星期一)7:51:27-0800(太平洋标准时间)于132年11月10日(星期一)通过HTTP://www,
(“日期”,“2014年11月10日星期一15:51:27+0000”),
(“交付”至example@example.com'),
(“Message-ID”,
''),
(‘主体’,“”),
(‘From’,“”),
(“内容类型”,
“多部分/备选方案;边界=089e01161dfeb060ca05078322b4”)]
[('X-GM-THRID','1482959797700709980'),
('X-Gmail-Labels'、'收件箱,未读'),
(“交付”至example@example.com'),
(“收到”,
“通过10.202.231.132,SMTP id为e126csp70807oih;\n Sat,2014年10月25日11:11:11-0700(PDT)”,
(“X-Received”,
“截至132年10月194日,SMTP id为DC4MR1327493WJB.56.1414260671373;\n星期六,2014年10月25日11:11:11-0700(PDT)”,
(‘返回路径’,“”),
(“收到”,
'来源于crm-mailrelay2.public.one.com(crm-mailrelay2.public.one.com.[195.47.247.171])\n由mx.google.com提供,ESMTPS id为l5si5515662wix.22.2014.10.25.11.11.11.10,用于\n(版本=TLSv1密码=ECDHE-RSA-RC4-SHA位=128/128);\n Sat,2014年10月25日11:11-0700(PDT)',
(“接收到的SPF”,
'通行证(google.com:domain of ofrobot@one.com将195.47.247.171指定为允许的发送方)客户端ip=195.47.247.171;'),
(“认证结果”,
'mx.google.com;\n spf=pass(google.com:domain of ofrobot@one.com将195.47.247.171指定为允许的发件人)smtp.mail=robot@one.com;\n dmarc=pass(p=NONE dis=NONE)头文件。from=one.com'),
(“收到”,
'来自crmjb2.one.com(未知[195.47.247.191])\n\t通过crm-mailrelay2.public.one.com(后缀),ESMTP id 627B37D3\n\t;Sat,2014年10月25日18:11:10+0000(UTC)',
(“收到”,
'来自crmjb2.one.com(localhost[127.0.0.1])\n\t由具有ESMTP id 57E7845974\n\t的crmjb2.one.com(Postfix)发布,适用于Sat,2014年10月25日18:11:10+0000(UTC)',
(‘From’,’robot@one.com'),
(‘To’,’example@example.com'),
('Message-ID',''),
(“主题”,“已创建新驱动器”),
('MIME-Version','1.0'),
(“内容类型”,
'multipart/related;type=“multipart/alternative”\n\tboundary=“-----=\u Part_154133_94897872.1414260670358”),
(“日期”,“星期六,2014年10月25日18:11:10+0000(UTC)”)

但是,我想计算页眉“('Delivered-to','example@example.com“)”将显示在文本文件中。我在代码中包含了一个计数,但是我不确定它是否正确。此外,如果正确,如何打印txt文件末尾的计数?谢谢

您似乎将包含字符串的元组与字符串混淆了

当在
mbox
对象上循环时,您将得到实例,它是的子类。您可能希望在此处使用该接口:

for msg in mbox:
    if msg['Delivered-To'] == 'example@example':
        count += 1

您似乎将包含字符串的元组与字符串混淆

当在
mbox
对象上循环时,您将得到实例,它是的子类。您可能希望在此处使用该接口:

for msg in mbox:
    if msg['Delivered-To'] == 'example@example':
        count += 1

你试过
f.write
了吗?@Kevin:他们用
f
打印到。你试过
f.write
了吗?@Kevin:他们用
f
打印到。非常有用谢谢:)最后一件事,我怎么知道计数是否有效?这是计数,但循环后如何打印计数结果?@SteCarter93:just
print count
?你也可以在循环中添加一个临时的
print count
,查看是否找到了实际的匹配项syntax@SteCarter93:Python3将要求您将其作为一个函数,
print(count)
。太棒了。谢谢你的时间:)真的很有用谢谢:)最后一件事,我怎么知道伯爵是否在工作?这是计数,但循环后如何打印计数结果?@SteCarter93:just
print count
?你也可以在循环中添加一个临时的
print count
,查看是否找到了实际的匹配项syntax@SteCarter93:Python3将要求您将其作为一个函数,
print(count)
。太棒了。谢谢您的时间:)