IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI/RAD Python Discussion :

[IDLE] Problème à la fermeture lors de l'exécution d'un programme


Sujet :

EDI/RAD Python

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut [IDLE] Problème à la fermeture lors de l'exécution d'un programme
    J'ai écrit le programme suivant pour détecter le moment où ma connexion internet s'interrompt, pour faire des vérifications avec mes postes téléphoniques et mon modem. Bref...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import urllib
     
    for u in range(0,1000):
        try:
            url = 'http://www.noctes-gallicanae.org/Rome/intro.htm'
            sock = urllib.urlopen(url)
            print '^^^^^^^^^^^^^^^^^^^^^^^^^'
            fh = sock.readlines()
            sock.close()
            for z in fh:
                if z.count('Romanus')==1:
                    print z
                    break
        except:
            print 'dec ',
    Ce que je ne comprends pas du tout , c'est la raison du blocage qui s'installe quand j'interromps le programme apres l'avoir lancé.

    Je veux dire que j'affiche d'abord le programme en cliquant sur "Edit with IDLE", puis je le lance avec Run, puis je clique sur la croix X en haut à droite de la fenêtre dans laquelle se déroule l'exécution, il apparait alors un message "The program is still running ! Do you want to kill it ? OK / Cancel ". Jusque là , rien ne m'étonne , j'ai fait ça des centaines de fois avec d'autres programmes.

    Mais une fois que j'ai cliqué sur OK , et que la fenêtre d'exécution a disparu, il reste à l'ecran le texte de mon programme et je ne peux plus rien faire d'autre que de le fermer: le curseur de position ne clignote plus, je ne peux pas le faire bouger de place, la flêche de la souris n'a plus la forme d'une flêche mais d'un trait même quand je l'amène en bordure de la fenêtre, et si je passe dans une autre fenêtre d'une autre application je ne peux pas faire revenir la fenêtre du script à l'écran. Je suis donc obligé de la fermer, soit en cliquant sur la croix X en haut à droite si la fenêtre n'a pas disparu, soit en appelant la fonction Close en cliquant dans la barre des taches en bas, soit en faisant ctrl-alt-del.

    Pourquoi ????????

    Merci pour vos lumières

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    IDLE n'est pas fait pour exécuter des programmes. Cela rajoute une couche qui peut ajouter également des problèmes que tu n'aurais pas sinon.
    Donc quand tu as des problèmes avec l'exécution par IDLE, lance ton programme autrement (double-clic, système .bat, ...) => http://python.developpez.com/faq/?pa...s#GenExecutePy

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut Merci pour ta réponse Guigui
    Cela m'éclaire.
    Il est sûr que je bidouille un peu trop sans comprendre les choses à fond, avec Python.

    La raison pour laquelle j'ouvre certains programmes en IDLE et les lance ensuite, c'est que leur exécution se passe dans une fenêtre intitulée "Python Shell" dans laquelle les instructions print que j'ai mises dans le programme s'affichent dans une jolie couleur bleue et qui me permet surtout:
    - en cours d'exécution
    - ou bien quand le programme bloque
    de faire un ctrl-A ou sélectionner un passage puis copier-coller vers un fichier Word où je peux tranquillement examiner les affichages.

    Il n'est pas possible de faire cela à partir d'une fenêtre d'exécution à fond noir ( c'est la console DOS ? je ne sais même pas comment ça s'appelle)

    S'il y a la possibilité de faire ça avec d'autres types d'exécution, je suis preneur.

    Ceci dit, ta réponse me permet de comprendre pourquoi peut être l'un de mes programmes bloque de temps en temps de la même façon que pour le petit programme de mon premier message. Je croyais que c'était lié à des perturbations de ma ligne télécom, qui n'est pas bonne, et provoque parfois des décrochements de mon modem.
    Mais en fait , je comprends que dans certains cas, ça ne doit pas avoir de rapport avec la ligne mais plutôt au fait que le programme tourne sous IDLE.

    C'est pour cela qu'il serait intéressant que je puisse exécuter mes programmes autrement que sous IDLE tout en gardant la possibilité de copier-coller que j'ai décrite.

  4. #4
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    il est possible de récupérer le résultat de la fenêtre dos à fond noir.
    Ce n'est pas hyper pratique et il n'y a pas la couleur mais ca marche quand même:
    => bouton droit de la souris + sélectionner Tout
    => bouton droit de la souris seul (ca copie ce qui est sélectionné)
    et tu peux le coller ou tu veux

    Sinon, tu peux regarder d'autres éditeurs plus puissants: http://python.developpez.com/outils/Editeurs/

Discussions similaires

  1. [Dev-Pascal] [GNU Pascal] Problème d'affichage lors de l'exécution d'un programme
    Par Mourad III dans le forum Autres IDE
    Réponses: 2
    Dernier message: 03/11/2010, 02h19
  2. Problème de pile lors de l'exécution de threads
    Par cueffic dans le forum Linux
    Réponses: 7
    Dernier message: 29/11/2008, 17h54
  3. Problème de droit lors de l'exécution du script
    Par lemirandais dans le forum Ubuntu
    Réponses: 2
    Dernier message: 26/11/2008, 22h46
  4. Réponses: 8
    Dernier message: 17/09/2007, 20h16
  5. Problème lors de l'exécution de mes programmes
    Par darkmalak01 dans le forum Langage
    Réponses: 7
    Dernier message: 27/09/2005, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo