Python 如果数据已经保存为str对象,那么向字符串添加数据是否有一个好的标准

Python 如果数据已经保存为str对象,那么向字符串添加数据是否有一个好的标准,python,excel,python-2.7,Python,Excel,Python 2.7,最新更新和解释:对于那些真的不明白为什么要这样做的人,我使用的是Python中的Excel API。Python脚本将从Excel电子表格中提取字符串以进行自动测试,并在完成后将结果返回Excel。我也会更新一个数据库,但由于我们在讨论中看到的困难,我已经放弃了这个想法,并且在这个项目上需要Excel 例如,我知道你可以 my\u string=“driver.find\u element\u by\u id(%s)。单击()%foo 但是如何将数据应用于已分配的字符串。什么是蟒蛇式的 my\u

最新更新和解释:对于那些真的不明白为什么要这样做的人,我使用的是Python中的Excel API。Python脚本将从Excel电子表格中提取字符串以进行自动测试,并在完成后将结果返回Excel。我也会更新一个数据库,但由于我们在讨论中看到的困难,我已经放弃了这个想法,并且在这个项目上需要Excel

例如,我知道你可以

my\u string=“driver.find\u element\u by\u id(%s)。单击()%foo

但是如何将数据应用于已分配的字符串。什么是蟒蛇式的

my\u string='driver.find\u element\u by\u id(%s)。click()'

new\u string=my\u string%foo

升级:玩引号让我偏离了方向。这不完全是我想要的最终产品,但这正是现在的效果…

这些str对象从另一个源中拉入(因此在分配给变量之前无法联接)

我从Excel电子表格中获取数据的大部分逻辑都被忽略了,但这就是为什么它变得如此复杂的原因。它是一个从电子表格中提取数据的脚本,因此我们可以进行自动回归测试,以更新工作表。

使用该函数,您可以准确地执行此操作,但我不知道它是否与您正在使用的任何函数兼容:

>>> a = "hello {}"
>>> a
'hello {}'
>>> a.format("dave")
'hello dave'
它也适用于
%
格式,但我认为它不太好看:)

阅读您的评论后,我希望您可以使用
exec
执行您想要的操作,如下例所示:

>>> command = "lst = [i**2 for i in range({})]"
>>> exec command.format(10)  #Performs identically to lst = [i**2 for i in range(10)]
>>> lst
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> exec command.format(4)   #Performs identically to lst = [i**2 for i in range(4)]
>>> lst
[0, 1, 4, 9]

有关完整的解释,请参阅。

您的第一行无效,因此无法解释您要做的事情。“转换”是什么意思?我加了引号。仍然无效,您可能需要使用双引号。但我的实际观点是,你应该用英语解释你想做什么,因为从你的代码示例中不清楚。你不能在一个字符串中用单引号括起来。为什么命令首先是一个字符串?@PadraicCunningham我实际上很快就改变了它,没有看,因为我正在看唯一的答案和他的format()选项。不幸的是,我最初没有考虑双引号的问题。顺便说一句,我第一次尝试传递
%
是有效的,但是尝试传递到方法中的问题就是这个问题。花时间在你的选择上帮助我更好地理解逻辑。
>>> a = "hello %s"
>>> a
'hello %s'
>>> a % "dave"
'hello dave'
>>> command = "lst = [i**2 for i in range({})]"
>>> exec command.format(10)  #Performs identically to lst = [i**2 for i in range(10)]
>>> lst
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> exec command.format(4)   #Performs identically to lst = [i**2 for i in range(4)]
>>> lst
[0, 1, 4, 9]