преобразование переменной как строкового содержимого в реальную переменную в python - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть строковая переменная, которая содержит содержимое типа «переменная», как показано ниже.

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 ]

3 голосов
/ 22 сентября 2011

Не делай этого. Можно, но не надо.

Вместо этого создайте словарь, ключами которого являются имена:

result_dict = {}
items = str1.split(';')
for item in items:
    key, value = item.strip().split('=')
    result_dict[key] = value
0 голосов
/ 22 сентября 2011

Или вы можете сделать это

class Namespace(object):
    pass

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

Затем вы можете получить доступ к своим переменным следующим образом:

Namespace.length
...