OVH Cloud OVH Cloud

Python et VT100

7 réponses
Avatar
Dominique Bouré
J'utilise python en ligne de commande (pas de IDLE ou pythonwin...)

sous Linux, print "\033[33mHello" ecrit le mot Hello en marron...
sous Windows, la séquence VT100 n'a pas l'ait reconnue...

Quelqu'un sait-il pourquoi? et comment faire pour que ca marche?

Merci....

7 réponses

Avatar
Do Re Mi chel La Si Do
Bonsoir !


Pour autant que je sache, Windows, dans son invite de commande, n'a jamais
émulé de terminal. Ni VT-52, ni VT-100, ni un 3270, ni un autre.

Par contre, les modules Telnet, et Hyperterminal supportent certaines de ces
fonctions. Mais je vois mal comment ça pourrait vous aider.

AMHA, il serait préférable d'étudier des "modules console", comme iPython,
ou, mieux, http://www.effbot.org/zone/console-index.htm


@-salutations
--
Michel Claveau
Avatar
Dominique Bouré
Merci... Console répond exactement à mes besoins immédiats!
Avatar
Jean-michel
"Dominique Bouré" a écrit dans le message de news:
4229eaf0$0$31891$
J'utilise python en ligne de commande (pas de IDLE ou pythonwin...)

sous Linux, print "33[33mHello" ecrit le mot Hello en marron...
sous Windows, la séquence VT100 n'a pas l'ait reconnue...

Quelqu'un sait-il pourquoi? et comment faire pour que ca marche?

Merci....





Du temps de MSDOS, il fallait mettre DEVICE=ANSI.SYS pour utiliser des
séquences de contrôle à l'affichage et à la saisie. Le codage des séquences
ANS est très proche du VT100.
Pour utiliser ça sous Windows, c'est un peu sportif. J'ai trouvé un lien
(http://www.nthelp.com/40/ansiNT.htm), mais je n'ai pas le temps de tester.
De plus, si ça marche, il est à craindre que ça ne fonctionne qu'en mode 16
bits et j'avoue que je ne sais même pas si le mode 16 bits est encore
implémenté sous 2000 et XP.

A+
jm

Avatar
Do Re Mi chel La Si Do
Bonsoir !


Le pilote ANSI.sys existe toujours sous XP. Il se trouve dans
WINDOWSSYSTEM32

Malheureusement, le mettre dans CONFIG.NT ne fonctionnera pas.

Si l'on veut l'utiliser dans une invite de commande, le mieux est d'utiliser
l'utilitaire DRVLOAD (chercher sur Google). Cet utilitaire est prévu pour
charger des drivers 16 bits dans une invite de commande. On l'utilisera de
la façon suivante :
DRVLOAD c:windowssystem32ansi.sys

Mais c'est assez lourd, et on tombe alors sur des problèmes de compatibilité
avec les jeux de caractères (notamment si l'on utilise aussi MODE).

Bref, c'est pas la joie. D'autant plus que les séquences ANSI.SYS sont assez
limitées (des infos ici :
http://membres.lycos.fr/gowap/Prog/Dos/Ansi_sys.html)


Finalement, une solution comme la console de F. Lundh, purement Python, est
beaucoup plus facile à utiliser. (Mais il existe d'autres, comme
http://newcenturycomputers.net/projects/wconio.html)


@-salutations
--
Michel Claveau
Avatar
Jean-michel
DRVLOAD c:windowssystem32ansi.sys

Mais c'est assez lourd, et on tombe alors sur des problèmes de
compatibilité
avec les jeux de caractères (notamment si l'on utilise aussi MODE).


et probablement aussi les noms de fichiers limités à 8+3 caractères !


Bref, c'est pas la joie. D'autant plus que les séquences ANSI.SYS sont
assez
limitées (des infos ici :
http://membres.lycos.fr/gowap/Prog/Dos/Ansi_sys.html)


Tout à fait d'accord.



Finalement, une solution comme la console de F. Lundh, purement Python,
est
beaucoup plus facile à utiliser.


Tout à fait d'accord.
D'autant plus que les séquences de contrôle, ça a tout de même un petit côté
rétro assez prononcé !

Avatar
Do Re Mi chel La Si Do
Bonjour !


D'autant plus que les séquences de contrôle, ça a tout de même un petit
côté rétro assez prononcé !




:-)))



Michel Claveau



Avatar
Deebou
la solution DRVLOAD c:windowssystem32ansi.sys ne semble pas marcher.
L'entrée standard semble bloquée, et on ne peut plus rien entrer dans la
fenêtre. A noter que Console, l'excellent .py dont il est question plus haut
réagit de la même manière. Les seules manières (chez moi) de faire marcher
les démos proposées sont:
lancemement direct comme argument de python
lancement via IDLE

Si je fais par exemple un import demoQueens.py (l'un des exemples de
console), la partie globale du script fait un getconsole qui bloque l'entrée
standard...


"Do Re Mi chel La Si Do" a écrit dans le
message de news: 422b9cdc$0$3130$
Bonsoir !


Le pilote ANSI.sys existe toujours sous XP. Il se trouve dans
WINDOWSSYSTEM32

Malheureusement, le mettre dans CONFIG.NT ne fonctionnera pas.

Si l'on veut l'utiliser dans une invite de commande, le mieux est
d'utiliser

l'utilitaire DRVLOAD (chercher sur Google). Cet utilitaire est prévu pour
charger des drivers 16 bits dans une invite de commande. On l'utilisera
de

la façon suivante :
DRVLOAD c:windowssystem32ansi.sys

Mais c'est assez lourd, et on tombe alors sur des problèmes de
compatibilité

avec les jeux de caractères (notamment si l'on utilise aussi MODE).

Bref, c'est pas la joie. D'autant plus que les séquences ANSI.SYS sont
assez

limitées (des infos ici :
http://membres.lycos.fr/gowap/Prog/Dos/Ansi_sys.html)


Finalement, une solution comme la console de F. Lundh, purement Python,
est

beaucoup plus facile à utiliser. (Mais il existe d'autres, comme
http://newcenturycomputers.net/projects/wconio.html)


@-salutations
--
Michel Claveau