如何将常规字符串转换为关键字?

时间:2013-09-30 01:42:22

标签: python string

最近,我一直用Python语言编程。我遇到了尝试将字符串转换为关键字的问题。

假设我使用raw_input()短语并将该字符串转换为对象,列表或字典。

例如,我可以将字符串" Foo"进入Foo并将该名称分配给python结构。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

你不想这样做,所以不要这样做,而是使用字典:

answer = raw_input("Enter: ") # Let's assume I enter "Foo"
mydict = {answer: raw_input("Enter a value for {} ".format(answer)} Let's say I enter "5"
print mydict.get('Foo')
# 5

答案 1 :(得分:0)

如果您愿意,可以修改globals字典。

globals()[raw_input()] = None # whatever "structure" you desire.
print foo

上述代码仅在用户实际输入字符串'foo'时才有效。否则会说NameError: name 'foo' is not defined

但是,是的,就像海德罗所说的那样,无论你想做什么,都可能是一个愚蠢的想法。

正如@icktoofay在评论中指出的那样,这只适用于内置函数globals()的返回值。修改内置函数locals()的返回值实际上不会修改本地名称空间。