如何使用逗号为变量分配单独的名称?

时间:2013-05-17 13:17:56

标签: python selenium python-2.7 code-separation

Hello stackoverflow用户。今天我想请求你的帮助,这只是我项目的一小部分。 所以...我已经使用Selenium做了一个小应用程序从div获取文本,文本不是静态的,它随着角色移动而改变。让我说明一下:

botloc = driver.find_element_by_id('botloc').text
    print botloc

我已经将它循环了,所以我可以每0.5秒更新一次(角色在半秒内移动1个方格)。当然我知道用key绑定它会更好,但是当它处于测试阶段时,循环对我来说很好。

一个botloc的

[示例] 输出看起来像这样:

26,20 

这是来自实际位置的x和y,所以我想使用该逗号作为分隔符来分隔x和y,然后我可以将它们分配给单个名称(def,class,whatever)。

当我移动我的角色时,

[示例] 输出的5 x botloc看起来像这样:

28,20
28,21
28,22
29,22
30,22

所以基本上,它都是关于方形图,但我不知道如何使用它,所以我用简单的逻辑和数学创建了我自己的想法。

我也试图从这里了解信息:http://docs.python.org/2/tutorial/inputoutput.html但是现在我想做功课如上所述。

我试图使用:

firstpart, secondpart = botloc[:len(botloc)/2], botloc[len(botloc)/2:]

但是在将它包含到我的代码中之后我的botloc无法正常工作(没有错误,没有文字,只有白色),而分隔符也是可以修复的吗?

感谢您对我的理解 - 新的python学习者!

1 个答案:

答案 0 :(得分:2)

>>> botloc="28,20"
>>> botX,botY = map(int,botloc.split(','))
>>> botX,botY
(28, 20)

如果您想存储多个机器人位置,您可以这样做:

>>> botLocations = []
>>> botLocations.append(map(int,botloc.split(',')))
>>> botLocations
[[28, 20]]

每当你得到一个新的botloc时,你用逗号分隔它,将每个分隔的值转换成一个int,并将它存储在botLocations中。


botloc[:len(botloc)/2], botloc[len(botloc)/2:]

如果botLoc不均匀,即198,2,则不起作用。相反,你必须做类似

的事情
>>> botloc="28,20"
>>> botloc[:botloc.index(',')]
'28'
>>> botloc[botloc.index(',')+1:]
'20'

分隔字符串。