Search code examples
pythonlogical-operatorsboolean-expressionboolean-operationsstring-conversion

Python convert a string to a logic operator


For example, if I have an expression like

x=True or True

if I evaluate in the shell the result is True

print(x)
x=True

So now I want to convert a string or an input to direct to that logic expression like

x=raw_input('Please give an expression:')

I know that the expression is a string so how to convert that string to a logic expression?

print(x)
x="True or True"

Solution

  • You can use eval() function:

    print eval(x)
    

    Note that you must be cautious while using it.

    Edit:

    As @PriyankPatel mentioned, another way would be using exec:

    exec("print " + x)