Ce problème a été rapporté aux développeurs de Python qui ne l'ont pas résolu, mais quelqu'un a proposé une solution que je copie ici:
import sys
if sys.executable.endswith("pythonw.exe"):
sys.stdout = sys.stdout = None
En gros, avec pythonw.exe ton script va quitter inopinément et sans afficher d'erreur dès que print() (ou équivalent) est appelée. Le code ci-dessus empêche print() d'afficher quoi que ce soit, ainsi ces informations sont perdues mais le script va fonctionner normalement.
Si j’exécute de la même manière le fichier py avec pythonw.exe rien ne s'affiche.
C'est censé afficher quoi ?
pythonw.exe .\main.py 1>stdout.txt 2>stderr.txt => Cela fonctionne !! la console ne s'affiche pas
Faut savoir ! Faut afficher ou pas afficher ?
quand je double clic sur mon script (petit programme graphique) qu'il soit avec l'extension py ou pyw, la console s'affiche toujours Si j’exécute de la même manière le fichier py avec pythonw.exe rien ne s'affiche.
Toujours aussi contradictoire...
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Si JeanMaffeux a pu trouver explications et solutions au problème décrit, difficile d'arriver en disant que ce qu'a raconté le PO n'est pas clair...
Pas sûr que depuis 2003, le problème ne soit pas résolu, et pas sûr non plus que @JeanMaffeux soit paroles d'évangile.
Pas sûr non plus qu'il est réellement compris le problème et qu'il tape pas à côté tant que le PO n'a pas confirmé.
EDIT:
J'espère que poser des questions reste et fait partie des possibilités acceptées dans les règles d'un forum, y compris le droit à ne pas comprendre où veut en venir le PO, surtout quand c'est pour aider et pour éviter de répondre à côté ?
- Edité par fred1599 20 janvier 2024 à 16:41:25
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
De ce que j'ai compris, il fait un script avec une interface graphique et il ne veut pas que l'invite de commande soit visible lors du lancement du script (mais bien qûr que son interface soit elle visible); donc 'rien ne s'affiche' = ni invite, ni interface; "ça fonctionne"= pas de console, et interface visible.
Mais bon le sujet commence à dater (2020, pas 2003)
Non 2003 est la date du problème rapporté en lien (voir réponse de @JeanMaffeux)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Pas sûr que depuis 2003, le problème ne soit pas résolu, et pas sûr non plus que @JeanMaffeux soit paroles d'évangile.
Pour en être sûr, on pourrait lire les dernières entrées du bug report: le problème initial a été soumis en 2003 mais ça bouge encore en 2013. Date à laquelle, il est admis que le problème a été corrigé en 3.x.
La question a poser au PO serait alors de savoir quelle version de Python il utilise...
Pythonw.exe
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)