通过连接准备字符串并访问其内容

时间:2013-06-23 04:09:19

标签: python

我想通过concatenating two other smaller strings准备一个字符串名称,然后访问其内容。

例如:

teststring = "teststringlength"
len("test"+"string") 

意图是获取字符串'teststring'的长度,即“teststringlength”的长度= 15

1 个答案:

答案 0 :(得分:3)

我不知道这与C有什么关系,但在Python中你可以这样做:

eval('len({}{})'.format('test', 'string'))

然而,这不是很安全。如果恶意用户能够提供任意字符串,他们可以运行任意Python代码。

另一种选择是使用locals()

locals()['test' + 'string']

使用它有一些注意事项(有关详细信息,请参阅the documentation;有关可能的改进,请参阅下面的Gabe评论)。

最后,首选解决方案通常是使用单个字典而不是多个变量:

data = {'teststring': 'teststringlength'}

len(data['test' + 'string'])