在 tkinter 中显示命令提示符 window

Show command prompt in tkinter window

如何编写一个程序,让我可以 运行 一段代码,然后显示结果?所以如果我让我的程序 运行 python --version 它应该打印类似 Python 3.8.3 的东西(取决于你使用的是什么版本),但你明白了

PS:我知道这之前已经发布过,但它们对我不起作用:(

谢谢!!

所以我在这里制作了一个您可能想要的非常简单的版本(输入 python --version 进行试用):

from tkinter import Tk, Text
import subprocess


def run(event):
    command = cmd.get('1.0', 'end').split('\n')[-2]
    if command == 'exit':
        exit()
    cmd.insert('end', f'\n{subprocess.getoutput(command)}')


root = Tk()

cmd = Text(root)
cmd.pack()

cmd.bind('<Return>', run)

root.mainloop()

如果使用给定的命令,subprocess.getoutput() 获取 cmd 将给出的输出

编辑(将评论移至此处):
但是有一些限制,例如 运行 pause 只会使 tkinter 崩溃,并且只有在命令完成后才会给出输出 运行 例如,如果您 tracert google.com 可能需要一段时间,在此期间window 将无响应,直到它完成该过程然后将其全部输出(也许为此可以使用线程至少不使 window 无响应)

编辑(2021 年 7 月 28 日):
可能更好地使用 subprocess.Popen 并从那里传输数据