我想通过concatenating two other smaller strings
准备一个字符串名称,然后访问其内容。
例如:
teststring = "teststringlength"
len("test"+"string")
意图是获取字符串'teststring'的长度,即“teststringlength”的长度= 15
答案 0 :(得分:3)
我不知道这与C有什么关系,但在Python中你可以这样做:
eval('len({}{})'.format('test', 'string'))
然而,这不是很安全。如果恶意用户能够提供任意字符串,他们可以运行任意Python代码。
另一种选择是使用locals()
:
locals()['test' + 'string']
使用它有一些注意事项(有关详细信息,请参阅the documentation;有关可能的改进,请参阅下面的Gabe评论)。
最后,首选解决方案通常是使用单个字典而不是多个变量:
data = {'teststring': 'teststringlength'}
len(data['test' + 'string'])