Python - Évaluer expression mathématique à l'intérieur de la chaîne

J'ai une question concernant l'évaluation de l'expression mathématique à l'intérieur d'une chaîne.
Par exemple, pour ma chaîne est la suivante:

my_str='I have 6 * (2 + 3) apples'

Je me demande comment l'évaluer cette chaîne et obtenir le résultat suivant:

'I have 30 apples'

Est la toute façon de le faire?

Merci d'avance.

P. S. python eval fonction n'est pas utile dans ce cas. Il a soulevé une erreur, lorsque vous essayez d'évaluer avec le eval fonction.

  • Est-ce devoirs?
  • stackoverflow.com/questions/2371436/...
  • pas vraiment sur le point, comme ceci (à la différence qu') exige de les jeter non-math parties de la chaîne.
  • Pourriez-vous utiliser 'I have {{ 6 * (2 + 3) }} apples' comme un format d'entrée?
  • cela pourrait bien fonctionner avec un bon remplacement pour le eval() fonction: codepad.org/QOhSpWzH