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

Passing a variable from a list as part of calling a function

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

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'}]
Objects = ['Contact','Opportunity']
for object in Objects:
    if object == 'Contact':
        print sf.Contact.describe()
    elif object == 'Opportunity':
        print sf.Opportunity.describe()

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

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

对象在这个例子中是一个字符串。您可以使用 getattr

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