python变量无效语法问题

python变量无效语法问题,python,salesforce,Python,Salesforce,我有一个问题,我认为是一个简单的脚本工作,我认为这只是我不知道如何让一个变量的工作 我正在编写一个salesforce脚本,它获取一个对象列表,然后查看对象列表以获取表中的所有字段 python中的这个查询非常适合为我提供已拉入DB的对象列表 query = ("SELECT obj_name FROM syncsfobjects") cursor.execute(query) 然后我循环浏览这些记录 for x in cursor: 这就是我的问题所在,我想在下一个语句中使用我的查询中的o

我有一个问题,我认为是一个简单的脚本工作,我认为这只是我不知道如何让一个变量的工作

我正在编写一个salesforce脚本,它获取一个对象列表,然后查看对象列表以获取表中的所有字段

python中的这个查询非常适合为我提供已拉入DB的对象列表

query = ("SELECT obj_name FROM syncsfobjects")
cursor.execute(query)
然后我循环浏览这些记录

for x in cursor:
这就是我的问题所在,我想在下一个语句中使用我的查询中的obj_名称

for xy in sf.%obj_name%.describe()["field"]:
我遇到的最大问题是如何在这个简单的salesforce查询中输入obj名称

如果我创建一个字符串,它就可以正常工作

objectname = str(x)
sfquery = 'sf. %s .describe()["fields"]' % objectname
但是,当我在下一个循环中使用sfquery时,所有循环都会遍历字符串中的每个字母,而不是运行sf connection命令

有没有我只是错过了一些简单的东西

干杯 丹

Python不允许您在字符串之外进行“百分比替换”,但如果您只有属性的名称,您仍然可以访问这些属性:

for xy in getattr(sf, objectname).describe()["field"]:

你能展示一下你从查询中得到的数据是什么样子的吗?我不是SQL专家,但不是
从syncsfobjects中选择对象名
只选择了一个字段吗?SQL位不是我能做的问题:objectname=str(x)print(objectname)我得到了正确的输出-问题似乎是重新创建简单的salesforce查询sf.Contact.description()[“fields”]-其中Contact是从数据库中提取的名称-因为这不是一个字符串,我似乎无法获得我的变量工作。你的意思是
游标['objectname']
作为
联系人
?当你以这种方式执行时,返回的记录是元组列表。当您执行str(tuple)时,tuple中只有一个元素,它只是将其转换为字符串。
for xy in getattr(sf, objectname).describe()["field"]: