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

Réseau/Web Python Discussion :

Récupérer un paramètre d'un fichier python pour un autre


Sujet :

Réseau/Web Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut Récupérer un paramètre d'un fichier python pour un autre
    Bonjour à tous !

    Je viens de commencer à programmer en Python et j'aimerais pouvoir lier deux paramètres de fichiers différents.

    Voici mon code :

    fich1.py

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import os
    import optparse
    import sys
     
    try:
        # xml.etree.ElementTree is new in Python 2.5
        from xml.etree.ElementTree import ElementTree
    except ImportError:
        sys.exit("This script needs the Python ElementTree module. Please install it")
     
     
    parser = optparse.OptionParser(
            "%prog [options] -H HOSTADDRESS")
     
    parser.add_option('-H', dest="hostname", help="Hostname to scan")
     
     
    opts, args = parser.parse_args()
     
    if not opts.hostname:
            parse.error("Requires one host to scan (option -H)")
     
    hostname = opts.hostname
     
    # TODO : launch from fich2.py with parameter -t = parameter -H
    ...
    fich2.py

    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
    16
    17
    18
    19
    20
    21
    22
    import optparse
    import sys
    import os
    import tempfile
    import subprocess
    from fich1 import *
     
    try:
        # xml.etree.ElementTree is new in Python 2.5
        from xml.etree.ElementTree import ElementTree
    except ImportError:
        sys.exit("This script needs the Python ElementTree module. Please install it")
     
    VERSION = '0.1'
     
    parser = optparse.OptionParser(
        "%prog [options] -t targets",
        version="%prog " + VERSION)
     
    parser.add_option('-t', '--targets', dest="targets",
                      help="Scanning targets.")
    ...
    J'aimerais lancer mon fichier fich2.py dans mon fichier fich1.py et faire en sorte que les paramètres -t et -H aient la même valeur.

    Des idées ?

    Merci d'avance pour vos réponses

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Importe fich2 dans fich1 et tu pourra l'utiliser et aussi supprimer du deuxième toutes les vérifications qui existent déjà dans le premier.

    En python on ne 'lance' pas un fichier on 'importe un module'.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Merci pour ce début de réponse

    Mon code ressemble donc à ça maintenant :

    fich1.py

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import os
    import optparse
    import sys
    from fich2 import *
     
    try:
        # xml.etree.ElementTree is new in Python 2.5
        from xml.etree.ElementTree import ElementTree
    except ImportError:
        sys.exit("This script needs the Python ElementTree module. Please install it")
     
     
    parser = optparse.OptionParser(
            "%prog [options] -H HOSTADDRESS")
     
    parser.add_option('-H', dest="hostname", help="Hostname to scan")
     
     
    opts, args = parser.parse_args()
     
    if not opts.hostname:
            parse.error("Requires one host to scan (option -H)")
     
    hostname = opts.hostname
     
    # TODO : launch from fich2.py with parameter -t = parameter -H
    ...
    fich2.py

    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 optparse
    import sys
    import os
    import tempfile
    import subprocess
     
    VERSION = '0.1'
     
    parser = optparse.OptionParser(
        "%prog [options] -t targets",
        version="%prog " + VERSION)
     
    parser.add_option('-t', '--targets', dest="targets",
                      help="Scanning targets.")
    ...
    Il me reste un problème de taille

    Quel est la meilleure façon d'exécuter mon script fich2.py dans fich1.py ?

    Sachant que je souhaiterais pouvoir récupérer la valeur du paramètre -H passé au fich1 pour l'envoyer dans le paramètre -t de fich2.

    Cette manipulation peut-elle se faire uniquement dans fich1 ou faut-il que j'intervienne dans fich2?

    D'avance merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    1. Supprime tout ceci du fichier 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import optparse
     
    VERSION = '0.1'
     
    parser = optparse.OptionParser(
        "%prog [options] -t targets",
        version="%prog " + VERSION)
     
    parser.add_option('-t', '--targets', dest="targets",
                      help="Scanning targets.")
    tu n'en as l'usage que dans le premier fichier.

    Maintenant, je suppose que ton fichier 2 fait quelque chose, parceque là on ne voit rien mais comme tu fais from fich2 import *.

    Que représente l'* ? classe(s), fonction(s), constantes(s) ?

    Quoiqu'il en soit ce sont ces éléments là que appellera depuis ton script 1 en leur passant les arguments nécessaires.

    Il faut considérer que lorsque tu fais import machin c'est comme si le code machin était maintenant écrit dans le même code, toutes nuances de langage mises à part.

    Voilà, yapluka.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Merci beaucoup pour ces éclaircissements
    Je m'y mets de suite !

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

Discussions similaires

  1. Hybride pour récupérer les docstrings d'un fichier Python
    Par rambc dans le forum Général Python
    Réponses: 4
    Dernier message: 07/09/2010, 21h58
  2. Récupérer des infos sur un fichier Python
    Par rambc dans le forum Général Python
    Réponses: 4
    Dernier message: 12/02/2009, 17h00
  3. Réponses: 5
    Dernier message: 02/06/2008, 09h47
  4. Réponses: 8
    Dernier message: 28/04/2008, 13h28
  5. Réponses: 1
    Dernier message: 05/09/2006, 17h56

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