[英]I need to read in a text file with data into python and assign the data the variables
[英]Read in Python a text file to recover the variables defined in there
我有一个 .txt 文件,其中包含:
diccionario = {'1':"whatever", '2':54}
我想在程序中读取该文件,以便在该程序中创建具有所需值的变量“diccionario”。
我试过像这样使用exec()
但它不起作用。
exec(open("file.txt","r").read())
先感谢您。
如果使用
exec
运行代码,则可以像访问任何常规变量一样访问代码中定义的变量:
code = "variable = 'Hello, world!'" exec(code) print(variable)
这输出:
Hello, world!
除了代码, exec
接受另外两个参数: globals
和locals
。 它们分别代表所有全局定义的变量和绑定到局部作用域的变量。 这些值将在代码执行期间用作全局和局部范围。 它们的默认值是globals()
和locals()
,因此exec(code, globals(), locals())
与exec(code)
相同。
通常来说,您不能修改locals()
,因此您将无法向本地范围添加变量。 但是,您可以添加全局变量:
code = "global variable; variable = 'Hello, world!'" exec(code) print(variable)
缺点是您必须将变量声明为全局变量。 如果你不能这样做,还有最后一个选择:
code = "variable = 'Hello, world!'" exec_locals = { } exec(code, globals(), exec_locals) print(exec_locals)
这产生: { 'variable': 'Hello, world!' }
{ 'variable': 'Hello, world!' }
使用这个,你可以访问code
定义的局部变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.