Заметки · 20.06.2025

Сначала представьтесь

Пост (внезапно) про Python.

Извечный вопрос при написании автономных скриптов или при их конвертации в исполняемые файлы — как вывести заголовок консольного окна?

Учитывая, что, как правило, скрипты Python исполняются, как в Windows, так и в Linux нужно кроссплатформенное решение.

В процессе работы у меня созрела вот такая функция:

import os
import platform
import ctypes

def set_console_title(title):
    if platform.system() == "Windows":
        ctypes.windll.kernel32.SetConsoleTitleW(title)
    else:
        print(f"\033]0;{title}\a", end='', flush=True)

Применить в коде скрипта можно вот так:

import os
import platform
import ctypes

# Заголовок окна #
def set_console_title(title):
    if platform.system() == "Windows":
        ctypes.windll.kernel32.SetConsoleTitleW(title)
    else:
        print(f"\033]0;{title}\a", end='', flush=True)

# Установка заголовка консольного окна #
set_console_title("Это заголовок консоли")

# Ожидаем действие пользователя #
input("Проверка заголовка окна...")

Приведу пример работы в исполняемой среде.

Запускаю скрипт в Windows:

Запускаю скрипт в Linux:

Писалось и тестировалось на Python 3.12.2.