Python(3.7)
我正在尝试编写一个简单的函数,该函数从Salesforce对象(表)返回元数据,其中表名是一个参数。在下面的示例中,Booking__c是一个对象(表)名称,它按预期返回collections.OrderedDict
。
from simple_salesforce import Salesforce
sf=Salesforce(username,password,organizationId)
table_info=sf.Booking__c.describe()
但是,我需要编写一个函数,以便可以将其重用于多个表。我尝试了exec(),但是它返回NoneType
def all_columns(table):
c = exec("sf.table.describe()")
return c
我知道不建议使用exec(),因此,如果有适当的方法可以实现这一目标,或者至少对exec有帮助,将不胜感激。
答案 0 :(得分:2)
我认为如果需要返回值,则需要在这里使用eval
,因为我相信exec
纯粹是为了执行副作用。
虽然没有必要。您可以使用getattr
通过名称访问对象的属性:
c = getattr(sf, table).describe()