Exécuter un programme dans une autre fenêtre

Résolu/Fermé
victor1507 Messages postés 40 Date d'inscription lundi 15 février 2016 Statut Membre Dernière intervention 24 mai 2018 - 5 mars 2016 à 12:29
victor1507 Messages postés 40 Date d'inscription lundi 15 février 2016 Statut Membre Dernière intervention 24 mai 2018 - 17 avril 2016 à 12:40
Bonjour,

J'ai écrit un programme python, et j'ai intégré un système de user/password avec le module getpass. Mais si j'exécute mon programme depuis un interpréteur tel que l'IDLE python, la fonction getpass() ne peut pas gérer l'affichage de ce qui est tapé sur le clavier. Donc je voudrais pouvoir exécuter un autre programme au milieu de mon premier, et qui, dans une nouvelle fenêtre, demanderai le nom d'utilisateur et le mot de passe, le chiffrerai en sha512 (module hashlib), et l'écrirai dans un fichier, qui serai récupéré puis supprimé par le programme principal. Malheureusement, je n'ai pas trouvé de module permettant de le faire. Est-ce que quelqu'un saurait comment faire ?
A voir également:

5 réponses

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
5 mars 2016 à 13:18
Salut
Tu n'écris pas ton programme pour l'exécuter dans IDLE mais dans Python, le vrai ;)
Le module getpass utilise le terminal.
Est-ce que ton script fonctionne lorsque tu le lances avec Python ?
0
victor1507 Messages postés 40 Date d'inscription lundi 15 février 2016 Statut Membre Dernière intervention 24 mai 2018 1
5 mars 2016 à 14:17
dsy73

Pour répondre à ta question, oui mon programme tourne lorsque je le lance avec python. Mais les caractères accentués apparaissent bizarrement (par exemple les é deviennent des Ù). C'est pour cela que j'utilise IDLE. J'ai essayé d'utiliser le module subprocess et os.startfile(), sans succès. Si tu connais quelque chose d'autre n'hésite pas à m'en faire part
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
5 mars 2016 à 16:15
C'est un problème d'encodage dans la console. C'est assez compliqué : https://sebsauvage.net/python/charsets_et_encoding.html
0
victor1507 Messages postés 40 Date d'inscription lundi 15 février 2016 Statut Membre Dernière intervention 24 mai 2018 1
5 mars 2016 à 20:07
Effectivement c'est assez compliqué. Mais si je peux ouvrir une fenêtre python du même type que celle qui s'ouvre avec os.system("pause") depuis IDLE (ou un autre interpréteur), je demanderai juste le login et le mot de passe sans accents et je continuerai le programme dans l'interpréteur, où je peux facilement mettre des accents. Donc si tu connais un module qui permet de le faire (ouvrir une fenetre python et afficher des trucs dedans),n'hésite surtout pas à m'en faire part.
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
6 mars 2016 à 05:20
C'est la console de l'OS. Tu peux utiliser la command input de Python par exemple : https://www.python-course.eu/input.php
0
victor1507 Messages postés 40 Date d'inscription lundi 15 février 2016 Statut Membre Dernière intervention 24 mai 2018 1
Modifié par victor1507 le 6/03/2016 à 19:31
Bonjour,

Je te mets deux images pour que tu comprennes exactement ce que je veux faire:


voici la fenêtre que je veux voir s'ouvrir


Et voici la fenêtre depuis laquelle mon code s'exécute.

Donc je veux que la deuxième ouvre la première, et que une partie de mon code s'exécute dans la première.

J'espère que tu pourras m'aider :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
victor1507 Messages postés 40 Date d'inscription lundi 15 février 2016 Statut Membre Dernière intervention 24 mai 2018 1
17 avril 2016 à 12:40
bon en fait j'ai trouvé tout seul:

os.system("monfichier.py")

et sa marche.

Merci dsy73
0