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

Python Discussion :

Lancer un Script dans un Script


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Lancer un Script dans un Script
    Bonjour à tous,

    Je vous sollicite pour la première fois aujourd'hui car je suis bloqué, je dois finir mon projet ISN qui est un jeu,

    J'ai un programme on va dire qui s'appelle x.py et une fenêtre d'accueil qui s'appelle y.py

    Sur la fenêtre d'accueil j'ai un bouton , j'aimerai que quand je clique sur le bouton, le script X.py ce lance.

    Merci beaucoup de votre aide

  2. #2
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    tu as plusieurs solutions pour cela.

    Voici l'une d'entre elle:



    x.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def main():
    	#Contenu que tu veux executer
     
    if __name__ == '__main__':
    	main()
    	#cette partie va te permettre d'executer ton script x en solo

    y.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import x
     
    if __name__ == '__main__':
    	x.main()
    	#Il te suffit d'executer le x.main() au moment ou tu cliques ton bouton
    tu comprends la logique?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Bonjour, déjà merci de votre réponse.

    Alors voila, je ne comprends pa bien ce qu'il faut que je mette à la place de main et de name, et comment les lettres, je vous met une capture d'écran ci joint .

    Nom : Capture d’écran 2016-04-22 à 12.17.49.png
Affichages : 1246
Taille : 23,5 Ko


    Voila mais ca me met que le module n'est pas connu. merci

  4. #4
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    Salut,

    Comment et structurer ton projet?

    l'erreur que tu as viens du fait que tu rajoutes l'extension du fichier lors de l'import

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import fichier.py #retirer l'extension du fichier
    alors que tu devrais écrire sa en suposant que les fichiers sont dans le même repertoire.

    ceci te permettra d'importer tout le contenu de fichier dans l'autre fichier.

    si c'est pour appeler juste une fonction alors:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from fichier import fonction
    tu devrais poster la partie du code ou tu bloques pour que l'on puisse t'aider,

    le contenu d'une image et pas réferencer donc si une autre personne a le même erreur que toi il faudra se répeter et surtout ton poste sera plus difficile a trouver lors d'une recherche sur google
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Script
    Salut, merci de ton aide également,

    Voila alors j'ai suivi ce que tu m'as dis mais il m'affiche cette Erreur :
    Nom : Capture d’écran 2016-04-22 à 22.03.19.png
Affichages : 1410
Taille : 59,5 Ko


    Donc, je te met le code entièrement donc la partie Page d'accueil ou ce trouve le bouton JOUER :


    Nom : Capture d’écran 2016-04-22 à 22.01.37.png
Affichages : 1345
Taille : 93,7 Ko

    et la partie Programme :

    Nom : Capture d’écran 2016-04-22 à 22.01.46.png
Affichages : 1472
Taille : 130,2 Ko

    Nom : Capture d’écran 2016-04-22 à 22.01.55.png
Affichages : 1275
Taille : 86,6 Ko


    Merci de t'as précieuse AIDE

  6. #6
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    Salut,

    ton import tu devrais le mettre tout en haut pour plus de simplicité et aussi niveau performance.

    Ton bouton a quel action au juste?

    tu devrais analyser la réponse de @bstevy, tu appeles main() alors que cette fonction n'existe pas.

    pour l'autre problème renseigne toi sur TopLevel pour les fenetres.
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Lancer un Script dans un Script
    Voila voila, ça vance petit à petit :-)

    Donc, après avoir changé un peu le code, donc :
    Nom : Capture d’écran 2016-04-23 à 13.09.11.png
Affichages : 2174
Taille : 89,9 Ko

    From diggermoleprojetbon fonction main

    Cela, ne met plus de messages d'erreur, mais il lance directement le programme, j'aimerai qu'il se lance, mais quand on clique sur un bouton.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Help me please
    Svp, j'ai besoin d'aide

  9. #9
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Tu veux dire que le code de ton avant dernier message est dans ta fonction d'entrée de ton application ?
    Si oui, y'a en effet un problème de logique.

    Le truc à faire quand on bloque sur un problème de méthodologie, conception ou appréhension, c'est de cesser de coder, prendre un papier et un crayon et de réfléchir à la façon de s'y prendre en faisant de simples petits schémas.
    Cela peut sembler paraître inutile, je suppose que les pros n'ont plus recours à ce genre de méthode de réflexion, mais quand on débute, comme moi, ou toi , ça permet d'avoir une vue d'ensemble, et d'étudier les cas complexes, ou qui peuvent nous sembler complexes à nos niveaux.
    Le temps ronge l'amour comme l'acide.

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par DiggerMole Voir le message
    Svp, j'ai besoin d'aide
    Pour avoir plus d'aide, çà serait bien de commencer par poster votre code entre les balises CODE (#): ceux qui voudront vous suggérer quelque chose n'auront pas à tout retaper!
    Lorsqu'on ne comprend plus rien à son code, il faut simplifier.
    Pourquoi vouloir répartir votre code dans 3 fichiers? C'est plus compliqué car il faut avoir défini des interfaces, et çà n'apporte rien côté "fonctionnel": çà fonctionnera pareil.

    Citation Envoyé par DiggerMole Voir le message
    Sur la fenêtre d'accueil j'ai un bouton , j'aimerai que quand je clique sur le bouton, le script X.py ce lance.
    Un bouton ne lance pas un script: il exécute une fonction.
    Si elle est dans le même "script", çà évitera les "import" et des tas de soucis côté variables globales/locales.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Merci
    OK, d'accord, notre professeur nous à donc demandé de ne pas se prendre la tête avec cela, mais plutôt de se consacrer à la page "perdu". Je met ce topic sous Résolu, et en ouvre un nouveau pour permettre aux personne qui on donc ce nouveau problème de pouvoir s'en sortir ! Merci beaucoup à vous :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TestNG] Lancer commande MS-DOS (ou script) dans fichier XML
    Par Lionkid dans le forum Tests et Performance
    Réponses: 0
    Dernier message: 18/05/2010, 21h48
  2. Réponses: 1
    Dernier message: 13/03/2010, 01h14
  3. Traçabilité: récupérer le nom du script dans le script
    Par orphean dans le forum Général Python
    Réponses: 1
    Dernier message: 11/07/2009, 21h38
  4. chaine </script> dans mon script js
    Par Jérémy Lefevre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/06/2008, 15h26
  5. [Système] executer un script dans un script
    Par vodasan dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2008, 11h02

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