首页 > 解决方案 > 如何在 Python3 中使用输入文本文件声明全局变量?

问题描述

假设我有一个变量my_var,我在脚本开头全局实例化它。如何使用input.txt文件修改其值。下面是我的问题的一个最小示例。

这是input.txt文件:

my_var = 0.15 # Change the value
print(f"In the text file, my_var={my_var}")

这是test.pypython脚本:

my_var = 0.14
print(f"In the beginning, my_var={my_var}")

def run_exec():
    f = open("input.txt")
    lines = f.readlines()
    for l in lines:
        exec(l, globals(), locals())
    print(f"Within the function, my_var={my_var}")

run_exec()
print(f"Outside the function, my_var={my_var}")

这是我使用 Python3.8.5 的输出:

In the beginning, my_var=0.14
In the text file, my_var=0.15
Within the function, my_var=0.14
Outside the function, my_var=0.14

标签: python-3.xscope

解决方案


变量lstr函数中的a run_exec。我需要以某种方式执行字符串的内容。

这是我使用您的功能时得到的结果:

Within the function, my_var=my_var = 0.15 # Change the value
Outside the function, my_var=my_var = 0.15 # Change the value

我不知道如何使用input.txt文本文件的行全局更改变量的内容。你能给我提供一个你的脚本的最小工作示例吗?


推荐阅读