para - instalar python en windows
Establecer el título de terminal de línea de comandos de Windows en Python (8)
Comparación del system()
publicado system()
y los métodos basados en windll
para agregar una pequeña comparación cuantitativa de los gastos generales de latencia asociados con dos de los métodos publicados:
|>>> from zmq import Stopwatch
|>>> aSWX = Stopwatch()
|>>> from os import system
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 15149L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 15347L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 15000L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 14674L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 14774L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 14551L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 14633L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 15202L [us]
|>>> aSWX.start();system( ''TITLE os_SHELL_CMD_TITLE_TXT'');aSWX.stop() 14889L [us]
|>>> from ctypes import windll
|>>> aSWX.start();windll.kernel32.SetConsoleTitleA(''DLL'');aSWX.stop() 5767L [us]
|>>> aSWX.start();windll.kernel32.SetConsoleTitleA(''DLL'');aSWX.stop() 643L [us]
|>>> aSWX.start();windll.kernel32.SetConsoleTitleA(''DLL'');aSWX.stop() 573L [us]
|>>> aSWX.start();windll.kernel32.SetConsoleTitleA(''DLL'');aSWX.stop() 749L [us]
|>>> aSWX.start();windll.kernel32.SetConsoleTitleA(''DLL'');aSWX.stop() 689L [us]
|>>> aSWX.start();windll.kernel32.SetConsoleTitleA(''DLL'');aSWX.stop() 651L [us]
En los casos en que uno puede gastar alrededor de la mitad de milisegundos (pero no decenas de eso), el método windll.kernel32
parece prometedor y puede servir mejor para una visualización alternativa de los mensajes WatchDOG / StateVARs / ProgressLOG / auto-autodiagnóstico, se muestra de manera eficiente en una suave necesidad en tiempo real, durante procesos de larga ejecución.
Estoy ejecutando varias instancias de una determinada secuencia de comandos de Python en una máquina con Windows, cada una desde un directorio diferente y usando una shell shell separada. Desafortunadamente, Windows le da a cada una de estas ventanas de shell el mismo nombre:
<User>: C:/Windows/system32/cmd.exe - <script.py>
¿Es posible establecer este nombre en otra cosa a través de un comando de Python?
Ahora es posible cambiar el título de la ventana desde cualquier idioma a través de la salida de una secuencia de escape estándar a la consola (stdout). Este es un ejemplo práctico de un comando por lotes. Cambiar el símbolo del sistema para que solo muestre el nombre del directorio actual; sin embargo, simplemente imprimiendo el punto de cierre 2 de la ESC, su-título-aquí BEL (control-G) lo hará. También un ejemplo de PHP fácilmente adaptado:
function windowTitle($title)
{printf("/033]2;%s/007", $title);}
Debido a que no hay suficientes representantes, no puedo agregar un comentario a la publicación anterior, así como una nueva publicación.
En Python 3 puedes usar:
import ctypes
ctypes.windll.kernel32.SetConsoleTitleW("My New Title")
Edité esta respuesta: tenga en cuenta que ahora usa SetConsoleTitle W , que es la versión Unicode de la función SetConsoleTitle . De esta manera, puede usar Unicode y ya no tiene que codificar la cadena / variable en un objeto de byte. Simplemente puede reemplazar el argumento con la variable de cadena.
En Windows, un simple comando de consola será suficiente:
from os import system
system("title "+myCoolTitle)
Agradable y fácil.
Esto funciona para Python2.7 en Windows.
>>> import ctypes
>>> ctypes.windll.kernel32.SetConsoleTitleA("My New Title")
No tengo conocimiento de una manera de cambiar el título de la ventana cmd
desde el script.
Sin embargo, puede establecer el título al iniciar el script si utiliza el comando de start
.
Si el inicio del Idle-shell es una opción en lugar del cmd shell:
idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
-c command run this command
-d enable debugger
-e edit mode; arguments are files to be edited
-s run $IDLESTARTUP or $PYTHONSTARTUP first
-t title set title of shell window
Ya que solo vas a ejecutar esto en Windows (IOW, no hay una manera multiplataforma de hacer esto):
- Descarga e instala las extensiones de Win32 para python
Dentro de su script, puede cambiar el título de la consola con la function
win32console.SetConsoleTitle("My Awesome App")