我正在编写一个tkinter程序,我想从文本框中获取输入,并将其作为python代码运行。textbox的输入是python代码,我的问题是如何作为python代码运行并访问它的变量。
例如,我从文本框中获得以下内容:
x = [1, 2, 3]我希望能够从“New”窗口解析textbox的内容,访问“x”变量并将其用作python列表。

发布于 2020-07-28 15:10:45
对于变量x,您在文本框中输入了输入数据。
如果x具有'[1,2,3]' (作为textbox输入时的字符串)
您可以尝试这样做:
exec(x)上面的代码将执行python代码,该代码将输入作为字符串。
如果x有'print('hello world')',它是这样工作的:
>>> x = 'print("hello world")'
>>> exec(x)
hello world更新:当我构建并上传我的答案时,@acw1668已经发表了评论(没有偷窃!)
发布于 2020-07-28 14:51:43
在我的头顶,最直接的方法是有一个类,它接受文本输入,将其格式化为.py文件,然后调用运行该代码的子进程。缺点是,由于内存地址不同,这些进程可能无法访问相同的数据。
如果您希望在当前流程中执行这段编写的代码,可以在函数中动态导入编写的python文件。导入将执行函数或类之外的任何代码,因此当您使用x = [1, 2]导入临时.py文件时,x列表现在应该在此过程中。
https://stackoverflow.com/questions/63128363
复制相似问题