Я пытаюсь создать программу для управления сервером Minecraft, у меня есть интерфейс tkinter с кнопкой для запуска сервера, затем вывод читается и распечатывается.
def output_reader(self, proc):
for line in iter(proc.stdout.readline, b""):
print("line: {0}".format(line), end="")
def launch(self, path)
self.process = Popen(path, shell=True, stdin=PIPE, stdout=PIPE, text=True)
self.t = threading.Thread(target=self.output_reader, args=(self.process,))
self.t.start()
Эта часть работает и сервер запускается. Существует кнопка сохранения, которая передает команду на сервер, но после нажатия интерфейс tkinter зависает, пока сервер продолжает работать в фоновом режиме, но прекращает вывод текста. Программа не печатает «test»
def save(self, cmd):
self.proc = self.process.communicate(cmd)
print("test)
Это проблема с моим пониманием модуля подпроцесса или, скорее всего, проблема где-то еще в моем коде? Извините за мою неопытность.