Задать вопрос
@MrxAlexo

Как запустить несколько окон консоли через Python?

Мне необходимо создать еще одно окно cmd для вывода туда данных. Накидал небольшой класс, который использует
очереди для передачи в консоль текста, win32console для инициализации самой консоли и multiprocessing для запуска всего этого. Все отлично работает до того момента, пока не понадобится запустить еще одну консоль вне главного потока приложения, например, в функции, которая запущена через threading. Multiprocessing, судя по всему, не поддерживает этого.

Вот мой код:

class Console:

    def __init__(self) -> None:
        self.output = multiprocessing.Queue()

    def window(self) -> None:
        try:
            win32console.FreeConsole()
            win32console.AllocConsole()
            win32console.SetConsoleTitle(f'ConsoleWindow')

            while True:
                message = self.output.get()
                print(message)
        except Exception as e:
            raise e

    def log(self, message) -> None:
        self.output.put(message)

'''
Без проверки if будет ошибка:
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.
'''
if __name__ == '__main__':
    console = Console()
    multiprocessing.Process(target = console.window).start()
    console.log('Hello!')
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Dzhigit
Начинающий прогер
Забей пока на эту идею, глянь ARGParser что это такое
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект