How can I convert string to source code in python?

2020-04-28 01:57发布

As you see, ifinner is a string, so if I just write after if, always will be true. What can i do, to concert it to source code?

    x=2
    ifinner = "x==3"
    if ifinner:
        print("Yeah")
    else:
        print("It works!")

2条回答
男人必须洒脱
2楼-- · 2020-04-28 02:46

Try this:

exec ("%s == 3" % x)

For detailed info, read the documentation of eval and exec in python 2.x/3.x. A similar question was asked previously.Here's the link

查看更多
▲ chillily
3楼-- · 2020-04-28 02:48

You can use eval() function to evaluate Python source code.

Quoting the documentation:

eval(expression, globals=None, locals=None)

The arguments are a string and optional globals and locals. If provided, globals must be a dictionary. If provided, locals can be any mapping object.

查看更多
登录 后发表回答