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 :

Importer une fonction d'un script à un autre [Python 3.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2022
    Messages : 3
    Par défaut Importer une fonction d'un script à un autre
    Bonjour, cherchant un moyen d'importer un script dans un autre ( tout en gardant les deux sur des fichier.py distincts ) j'ai trouver qu'il était possible d'importer une fonction définie dans un script dans un autre. J'ai essayé de cette façon:

    J'ai définie dans le 1er script la fonction puis j'ai importer sur l'autre script avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from [le nom du 1er programme] import Graph
    pourtant je reçois une erreur :

    import "[1er programme]" could not be resolved
    je débute en python, l'erreur est peut-être évidente

    ci-joint les screen du script.
    Images attachées Images attachées   

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 821
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Orionship Voir le message
    je débute en python, l'erreur est peut-être évidente
    Si le script se nomme "Graphisme dragon slayer", pourquoi tu importes "Graphisme_dragon_slayer" ??? Tu penses que c'est la même chose ???

    Et sinon un a=1; while a<=4... ; a=a+1 ça s'écrit plus simplement for a in range(4). En réalité c'est for a in range(1, 5) mais vu que "a" ne sert pas dans la boucle, qu'il vaille 1, 2, 3, 4 ou 0, 1, 2, 3 c'est exactement la même chose. Et même puisque la variable "a" ne sert pas, on utilise alors la variable neutre "_" => for _ in range(4).

    Citation Envoyé par Orionship Voir le message
    ci-joint les screen du script.
    http://club.developpez.com/regles/#LIII-E
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2022
    Messages : 3
    Par défaut
    J'avais essayé sans les "_" mais un autre message d’erreur apparaissait : "statement must be separated by newlines or semicolons".

    au moment après avoir rajouter les "_" mais sans ça ne marche pas non plus car python ne reconnait pas de quelle fichier je veux parler.

    peut-etre faut il les séparer par autre chose ?

    au faite merci pour l'histoire de la boucle

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 821
    Billets dans le blog
    1
    Par défaut
    La base, ce sont les espaces dans ton nom de fichier. Cela ne se fait pas, justement à cause de ce genre de soucis (pour les importer c'est galère) donc on va au plus simple : tu nommes ton script "Graphisme_dragon_slayer.py" et ensuite tu l'importes via from Graphisme_dragon_slayer import ... et tout marchera.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 198
    Par défaut
    Hello,
    Citation Envoyé par Sve@r Voir le message
    La base, ce sont les espaces dans ton nom de fichier. Cela ne se fait pas, justement à cause de ce genre de soucis (pour les importer c'est galère)
    voilà ce que j'ai trouvé sur le sujet :
    Vous devez supprimer les espaces du nom de fichier. Parce que le nom de fichier est utilisé comme identifiant pour les modules importés (c'est-à-dire foo.py sera importé en tant que foo) et Python ne peuvent pas avoir d'espaces, cela n'est pas pris en charge par l'instruction import.

    Si vous vraiment devez le faire pour une raison quelconque, vous pouvez utiliser le __import__ fonction:


    foo_bar = __import__("foo bar")
    Cela importera foo bar.py comme foo_bar. Cela se comporte un peu différemment de l'instruction import et vous devez l'éviter.
    Ami calmant, J.P

  6. #6
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2022
    Messages : 3
    Par défaut
    Effectivement renommer le fichier de base résout le problème, merci !

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

Discussions similaires

  1. Importer une fonction d'un script
    Par yacine.dev dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/03/2010, 10h33
  2. Réponses: 5
    Dernier message: 23/02/2009, 09h21
  3. Passage d'une variable d'un script à un autre
    Par hudony dans le forum Langage
    Réponses: 3
    Dernier message: 30/12/2006, 20h22
  4. Réponses: 8
    Dernier message: 30/08/2006, 10h08
  5. Appeler une fonction d'un script PHP depuis HTML
    Par barthelv dans le forum Langage
    Réponses: 31
    Dernier message: 27/12/2005, 11h25

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