Show command line results in Tkinter text widget
Based on this answer you can do it fairly simply with the below code:
import subprocess # required for redirecting stdout to GUItry: import Tkinter as tk # required for the GUI python 2except: import tkinter as tk # required for the GUI python 3def redirect(module, method): '''Redirects stdout from the method or function in module as a string.''' proc = subprocess.Popen(["python", "-c", "import " + module + ";" + module + "." + method + "()"], stdout=subprocess.PIPE) out = proc.communicate()[0] return out.decode('unicode_escape')def put_in_txt(): '''Puts the redirected string in a text.''' txt.insert('1.0', redirect(module.get(), method.get()))if __name__ == '__main__': root = tk.Tk() txt = tk.Text(root) module = tk.Entry(root) method = tk.Entry(root) btn = tk.Button(root, text="Redirect", command=put_in_txt) #layout txt.pack(fill='both', expand=True) module.pack(fill='both', expand=True, side='left') btn.pack(fill='both', expand=True, side='left') method.pack(fill='both', expand=True, side='left') root.mainloop()
given that the module is in the same directory. The code returns console output of a method or a function(rightmost entry) in a module(leftmost entry) as a string. It then puts that string in a Text field.
See this answer for Returning all methods/functions from a script without explicitly passing method names.