Tuesday, July 5, 2022

How to execute a string of code as a code in Python

 Lets say you got a string representation of a python syntax that you actually want to execute/run not just display it on the console, how do you execute/run such a string code?

print( "print('Hello World')" )

Above code will print print('Hello World') instead of 'Hello World'. Also the code below will display len('Hello World') instead length of the characters as 11.

print( "len('Hello World')" )

There are two function that can help you get the task done. They are the exec and the eval functions. See difference between exec and eval here


# Using exec function
exec( "print('Hello World')" )
exec( '''print( "print('Hello World')" )''' )

# Using eval function
eval( "print('Hello World')" )
eval( '''print( "print('Hello World')" )''' )


print( "len('Hello World')" ) # Using exec function exec( "len('Hello World')" ) exec( '''len( "print('Hello World')" )''' ) # Using eval function eval( "len('Hello World')" ) eval( '''len( "print('Hello World')" )''' )

I found this very useful when I want to evaluate a dynamically generated Python expression.
Happy coding.

No comments:

Post a Comment