Bonjour,
Voici un exemple simple illustrant mon problème. Si on considère le code suivant :
Quand le lance ce programme depuis un terminal, tout va bien, il affiche dans le terminal "hello world!"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 def affichage(): print("hello world!") if __name__=='__main__': affichage()
Néanmoins, une fois que je transforme ce programme en executable (avec cx_freeze) et que je lance le .exe, aucune fenêtre ne se lance, aucun affichage n'apparaît.
Ce que j'ai déjà essayé :
- ajouter après affichage() un system("pause") --> si je lance l'executable avec ça, mon hello world ne s'affiche pas mais une fenêtre s'ouvrir en indiquant "appuyez sur une touche pour continuer..."
- faire un : sys.stdout = open('log.csv','w') puis un sys.stdout.write("hello world!") --> cela fonctionne, hello world est inscrit dans le fichier log.csv, mais cela ne répond pas à mon besoin qui est d'afficher hello world dans une fenêtre, pas dans un fichier.
- faire simplement un sys.stdout.write("hello world"), mais lors de l'execution du .exe, il me dit qu'un NoneType n'a pas de méthode "write" (je suppose que c'est parce que stdout n'a pas été défini dans ce cas)
Mon besoin :
- Mon objectif est d'afficher hello world dans une fenêtre style terminal lors de l'execution du .exe
Ma config :
Python 3.6
Conversion .py --> .exe avec cx_freeze
Je vous remercie !
Partager