2015-03-18 2 views
0

Пожалуйста, дайте мне знать, если следующий достижимо с помощью питонаМожно ли преобразовать «Ь = 2» б = 2 в питона

У меня есть следующая строка

a = "b=2" 

Мне нужно, чтобы получить

>>> b 
2 

Я использую Python 2.7 версии

Спасибо заранее

+1

Вы имеете в виду, как .. 'Exec («х = 2»)' –

+2

Почему? Какую проблему ты пытаешься решить? –

+3

Зачем вам это нужно? Если вы собираетесь ответить «чтобы мой пользователь мог вводить команды, которые я буду выполнять», как вы планируете запретить им вводить '__import __ (« os »). System (" delete_your_hard_drive.exe ")'? – Kevin

ответ

3

Я не уверен в последствиях безопасности, но вам придется использовать либо exec, либо eval.

a = exec("b=2") 
4

Существуют различные способы делать то, что вы просите, но ни один из них не является хорошим.

Чем больше вещий способ создать словарь и получить доступ к новому «переменные» через него:

>>> a = "b=2" 
>>> d = {} 
>>> key, value = a.split('=', 1) 
>>> d[key] = value 
>>> d 
{'b': '2'} 
Смежные вопросы