У меня следующая проблема, у меня есть отдельные функции Python в разных файлах. Это я звоню, когда они мне нужны.
В настоящее время я пытаюсь создать графический интерфейс с помощью tkinter, и мне нужно отобразить вывод из функций, которые я вызываю. Так как я предполагаю прочитать то, что генерирует консоль python, я попытался использовать подпроцесс, но это не сработало, я полагаю, что мне нужно прочитать стандартный вывод и затем передать его в список tkinter, но методы, которые я пробовал, не сработали.
from Tkinter import *
import ConfigParser, sys
import subprocess as sub
from my_update import *
from mac_generator import *
class testing:
def __init__(self, parent):
self.parent=parent
status_file = "status.ini"
status = ConfigParser.ConfigParser()
status.read(status_file)
self.mac_last = status.get('status', 'mac_last')
self.parent=parent
Button(parent, text="Upgrade", command=self.upgradeproc).pack(side=BOTTOM, padx=10, pady=10)
self.ff=Frame(self.parent, bd=1, relief=SUNKEN)
Label(self.ff, text="LAST MAC: " + self.mac_last, justify=LEFT, anchor=W, width=28).pack()
self.ff.pack(side=TOP, pady=15)
def upgradeproc(self):
list = Listbox(root, width=50, height=30)
list.pack()
proc = sub.Popen(testgen(), stdout=sub.PIPE)
for line in iter(proc.stdout.readline, ''):
list.insert(END, line)
if __name__ == '__main__':
root = Tk()
root.resizable(width=FALSE, height=FALSE)
root.geometry("350x350")
root.title('Test')
testing(root)
root.mainloop()