Esses dias me deparei com um problema em Python, queria executar uma string. Eu tinha uma string que era um teste de condicionais e uma lista que seria os nomes das variáveis que estavam sendo usadas nas condicionais. Para executar os testes de condicionais que estavam como string, utilizei o comando eval() e para declarar as novas variáveis que iriam receber um array, usei o exec().
Por exemplo:
>>> import numpy as np
>>> d = "f" #Criei uma variavel que recebe a string
>>> array = np.array([1, 2, 3, 4]) #criei o array do numpy
>>> condicionais = "np.where( a == 1, 10, np.where (a >= 1, 20, 30))" #O teste condicionais em string
>>> exec (d+"=array") #O comando exec vai fazer com que a variável f receba o array
>>> print f #Então quando mandar escrever a variável f aparecerá os valores do array
array([1, 2, 3, 4])
>>> eval(condicionais) #Para que as condicionais seja executada utilizá-se o eval, esse comando avaliará a string
array([10, 20, 20, 20]) #Resultado das condicionais
Bom trabalho!
Por exemplo:
>>> import numpy as np
>>> d = "f" #Criei uma variavel que recebe a string
>>> array = np.array([1, 2, 3, 4]) #criei o array do numpy
>>> condicionais = "np.where( a == 1, 10, np.where (a >= 1, 20, 30))" #O teste condicionais em string
>>> exec (d+"=array") #O comando exec vai fazer com que a variável f receba o array
>>> print f #Então quando mandar escrever a variável f aparecerá os valores do array
array([1, 2, 3, 4])
>>> eval(condicionais) #Para que as condicionais seja executada utilizá-se o eval, esse comando avaliará a string
array([10, 20, 20, 20]) #Resultado das condicionais
Bom trabalho!