将变量(如字符串内容)转换为python中的实变量

时间:2011-09-22 08:30:52

标签: python string variables split

我有一个字符串变量,其中包含类似“变量”的内容,如下所示。

str1="type=gene; loc=scaffold_12875; ID=FBgn0207418; name=Dvir\GJ20278;MD5=4c62b751ec045ac93306ce7c08d254f9; length=2088; release=r1.2; species=Dvir;"

我需要从字符串中创建变量,以便变量名称和值如下所示

type="gene"
loc="scaffold_12875"
ID="FBgn0207418"
name="Dvir\GJ20278"
MD5="4c62b751ec045ac93306ce7c08d254f9"
length=2088
release="r1.2"
species="Dvir"

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

不要这样做。你可以,但不要。

而是创建一个字符,其键是名称:

result_dict = {}
items = str1.split(';')
for item in items:
    key, value = item.strip().split('=')
    result_dict[key] = value

答案 1 :(得分:0)

或者你可以这样做

class Namespace(object):
    pass

for item in str1.split(';'):
    key, value = item.strip().split('=', 1)
    setattr(Namespace, key, value)

然后您可以像这样访问您的变量

Namespace.length