在 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
并从那里传输数据
如何编写一个程序,让我可以 运行 一段代码,然后显示结果?所以如果我让我的程序 运行 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
并从那里传输数据