从列表中传递变量作为调用函数的一部分

时间:2015-06-11 20:11:43

标签: python python-2.7 soap salesforce

我正在使用SimpleSalesforce,并希望使用describe()功能。其中一个例子是sf.Contact.describe()来描述联系人记录。我想循环遍历列表中的几个记录,但我不确定如何传入变量代替Contact。

Objects = ['Contact','Opportunity']
for object in Objects:
    print sf.object.describe()

这会产生错误:

simple_salesforce.api.SalesforceResourceNotFound: Resource object Not Found. Response content: [{u'errorCode': u'NOT_FOUND', u'message': u'The requested resource does not exist'}]

3 个答案:

答案 0 :(得分:3)

对象是此示例中的字符串。您可以使用getattr

检索该属性
Objects = ["Contact", "Opportunity"]
for object in Objects: # object is a string.
    print getattr(sf, object).describe()

答案 1 :(得分:2)

您可以创建对象列表而不是字符串列表,然后可以从这些对象调用describe方法

Objects = [sf.Contact, sf.Opportunity]
for object in Objects:
    print object.describe()

答案 2 :(得分:0)

Objects = ['Contact','Opportunity']
for object in Objects:
    if object == 'Contact':
        print sf.Contact.describe()
    elif object == 'Opportunity':
        print sf.Opportunity.describe()