【问题标题】:How can I convert string to source code in python?如何在python中将字符串转换为源代码?
【发布时间】:2017-10-08 06:39:38
【问题描述】:

如你所见,ifinner 是一个字符串,所以如果我只写在 if 之后,那么总是正确的。我该怎么做才能将其与源代码一致?

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

【问题讨论】:

标签: python string command eval


【解决方案1】:

您可以使用eval() 函数来评估 Python 源代码。

引用文档:

eval(表达式, globals=None, locals=None)

参数是一个字符串和可选的globalslocals。如果提供,全局变量必须是字典。如果提供,locals 可以是任何映射对象。

【讨论】:

  • 但切勿在任何不是您自己创建(或来自可信来源)的字符串上使用 eval
【解决方案2】:

试试这个:

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

有关详细信息,请阅读 python 2.x/3.x 中的 eval 和 exec 文档。 之前问过类似的问题。这里是link

【讨论】:

    【解决方案3】:

    我认为 eval 不适用于这样的字符串

    str_ = "import matplotlib"
    

    在这种情况下,您可能需要打开一个单独的文件,写入字符串然后执行它。

    【讨论】:

      猜你喜欢
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 2013-09-10
      • 2011-12-06
      • 1970-01-01
      • 2018-11-13
      • 2021-05-21
      相关资源
      最近更新 更多