python - 将包含用于 Python 变量赋值的文本的字符串转换为实际变量

标签 python

我正在尝试将包含 Python 变量赋值的字符串转换为实际变量。

以下对我有用。

    s = "VAR = [1,55]"
    exec(s)
    print(VAR)

但是当把这段代码放在一个函数中时,VAR 永远不会被定义。

    def myFunction():
        s = "VAR = [1,55]"
        exec(s)
        print(VAR)

    myFunction()    

我不确定我错过了什么。在此先感谢您的帮助!

对几个问题的回答...

错误信息:“NameError: name 'VAR' is not defined”

使用:Python 3

最佳答案

您还可以将全局变量传递给 exec:

def myFunction():
    s = "VAR = [1,55]"
    exec(s, globals())
    print(VAR)

related

关于python - 将包含用于 Python 变量赋值的文本的字符串转换为实际变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32512637/

相关文章:

python - 进程内存使用输出

Python Shell 在使用 PyQt5 的 while 循环后重新启动

python - 使用 beautifulsoup 解析 HTML 页面

python - 如何 pickle 记录器?

Python 3.0+ 设置为最多 4 位小数和四舍五入

python - Heroku Django 应用程序部署在尝试安装 python 要求后失败

python - 在python脚本中获取路径

python - 如何在python中转储不带引号的json

python - 值错误: Can't handle mix of multilabel-indicator and continuous-multioutput accuracy_score()

python - Pandas DataFrame 分组