在函数中动态调用var内部字符串

时间:2016-09-02 22:46:00

标签: python

我是python的新手,我有var(string)这是一个 Xpath 查询。我想将变量 i 传递到 Xpath 查询中。下面是一个简单的例子:

i = 0
self.var = 'li['+i+']'

def test(self):
  while(i<10):
   print self.var #  'li[0]', 'li[1]' ...
   i += 1

2 个答案:

答案 0 :(得分:1)

您需要在变量 str 上调用 i ,不能连接int和str:

 'li['+str(i)+']'

或者只使用 str.format ,您也可以传递使用范围,xpath索引也是从1开始的,所以你可以从1开始:

 self.var = "li[{}]"
 def test(self):
    for i in range(1, 11):
       print self.var.format(i)

或者,对于Xpath查询使用 lxml ,您可以使用下面的Xpath variable

 .xpath("li[$i]", i=i)

答案 1 :(得分:0)

您可以使用第一个字符串,整数和第二个字符串创建列表。

i = 0
var = ['li[',i,']']

def test(var):    
    while(var[1]<10):
        print var[0]+str(var[1])+var[2]
        var[1] += 1

test(var)