我是新手。尝试编辑一个API示例来做我需要它做的事情。取得了一些进展,但在这个问题上挂断了电话。你知道吗
有以下课程:
class User:
def __init__(self, emailAddress, emailId, listId, campaignId, fName, lName,gender,birthDate,city,state,country,zip):
parts = emailAddress.split('@')
if len(parts) != 2:
raise Exception("Invalid email address: %s" % emailAddress)
self.emailAddress = emailAddress.lower()
self.emailMd5 = hashlib.md5(emailAddress).hexdigest()
self.domain = parts[1]
self.emailId = emailId
self.listId = listId
self.campaignId = campaignId
self.fName = fName
self.lName = lName
self.gender = gender
self.birthDate = birthDate
self.city = city
self.state = state
self.country = country
self.zip = zip
我将电子邮件加载到队列中,如下所示:
u = User(emailAddress, emailId, listId, campaignId, fName, lName, gender,birthDate,city,state,country,zip)
users[u.emailMd5] = u
totalEmails += 1
if len(users) % batchSize == 0:
q.put(users, block=True)
users = {}
if len(users) > 0:
q.put(users, block=True)
for i in xrange(numThreads):
q.put("done")
在我遇到问题的地方:
def buildXmlRequest(self, users):
emailRecords = []
for user in users:
emailRecords.append("<email><recipient>%s</recipient><list>%d</list><domain>%s</domain></email><redirect>http://website/?emailId=%d</redirect>" \
% (user.emailMd5, self.cfg['list_id'], user.domain))
buildXmlRequest的调用方式如下:
users = None
while users == None:
try:
users = self.q.get(timeout=1)
except Queue.Empty:
pass
{snip}
data['request'] = self.buildXmlRequest(users.values())
我希望能够访问“用户.emailId,因此我可以执行以下操作:
for user in users:
emailRecords.append("<email><recipient>%s</recipient><list>%d</list><domain>%s</domain></email><redirect>http://website/?emailId=%d</redirect>" \
% (user.emailMd5, self.cfg['list_id'], user.domain, user.emailId))
但是根据我的IDE(PyCharm 3.0),只有用户域'和'用户.md5'存在。我甚至不明白这些属性是如何分配的?只有两个例子用户域(我已经在这段代码中显示了这两个)。你知道吗
我试过修改
users[u.emailMd5] = u to:
users[u.emailId] = u
只是看看它是否出现在IDE中,而不是。你知道吗
同样,对于python来说是非常新的,所以在“类实例”等方面可能没有使用正确的词
谢谢你!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐