如何将变量分配给 eval / exec 值?
How do i assign a variable to a eval / exec value?
是否可以将变量分配给 exec / eval 值?
这是我试过的
def execute ():
run_wn = tk.Tk()
des1 = tk.Label(run_wn, text = "------------------------------").pack()
run_value = exec(cmd.get("1.0", "end"))
value = tk.Label(run_wn, text = run_value)
des2 = tk.Label(run_wn, text = "------------------------------").pack()
run_wn.mainloop
bt = tk.Button(wn, text = "run", command = execute).pack()
cmd 是一个文本框..
当我执行此代码时,return 屏幕中没有任何内容。
它打印它
有什么方法可以将一个值分配给 exec / eval 值,并将其用作标签中的文本??
这只是一个实验项目..
帮助将不胜感激!!
谢谢
exec 采用另外两个位置参数,全局变量和局部变量的字典,因此您可以像这样执行以在字典中捕获结果:
In [1]: ns = {}
In [2]: exec("p = 1 + 2", globals(), ns)
In [3]: ns
Out[3]: {'p': 3}
执行不受信任的代码很危险。如果您将用户输入混合到命令中,请不要这样做,除非您真的知道自己在做什么。
是否可以将变量分配给 exec / eval 值? 这是我试过的
def execute ():
run_wn = tk.Tk()
des1 = tk.Label(run_wn, text = "------------------------------").pack()
run_value = exec(cmd.get("1.0", "end"))
value = tk.Label(run_wn, text = run_value)
des2 = tk.Label(run_wn, text = "------------------------------").pack()
run_wn.mainloop
bt = tk.Button(wn, text = "run", command = execute).pack()
cmd 是一个文本框.. 当我执行此代码时,return 屏幕中没有任何内容。 它打印它 有什么方法可以将一个值分配给 exec / eval 值,并将其用作标签中的文本??
这只是一个实验项目..
帮助将不胜感激!!
谢谢
exec 采用另外两个位置参数,全局变量和局部变量的字典,因此您可以像这样执行以在字典中捕获结果:
In [1]: ns = {}
In [2]: exec("p = 1 + 2", globals(), ns)
In [3]: ns
Out[3]: {'p': 3}
执行不受信任的代码很危险。如果您将用户输入混合到命令中,请不要这样做,除非您真的知道自己在做什么。