Exécuter un programme dans une autre fenêtre

[Résolu/Fermé]
Signaler
Messages postés
40
Date d'inscription
lundi 15 février 2016
Statut
Membre
Dernière intervention
24 mai 2018
-
Messages postés
40
Date d'inscription
lundi 15 février 2016
Statut
Membre
Dernière intervention
24 mai 2018
-
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 ?

5 réponses

Messages postés
9018
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 496
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 ?
Messages postés
40
Date d'inscription
lundi 15 février 2016
Statut
Membre
Dernière intervention
24 mai 2018
1
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
Messages postés
9018
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 496
C'est un problème d'encodage dans la console. C'est assez compliqué : https://sebsauvage.net/python/charsets_et_encoding.html
Messages postés
40
Date d'inscription
lundi 15 février 2016
Statut
Membre
Dernière intervention
24 mai 2018
1
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.
Messages postés
9018
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 496
C'est la console de l'OS. Tu peux utiliser la command input de Python par exemple : https://www.python-course.eu/input.php
Messages postés
40
Date d'inscription
lundi 15 février 2016
Statut
Membre
Dernière intervention
24 mai 2018
1
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 :)
Messages postés
40
Date d'inscription
lundi 15 février 2016
Statut
Membre
Dernière intervention
24 mai 2018
1
bon en fait j'ai trouvé tout seul:

os.system("monfichier.py")

et sa marche.

Merci dsy73