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 :

Ouvrir un fichier texte et l'interpréter en python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut Ouvrir un fichier texte et l'interpréter en python
    Bonjour,

    Afin d'avoir un programme "ouvert", j'aimerais, à partir d'un script python
    • ouvrir un fichier python (commande open() puis read())
    • l'interpréter


    Je rappelle que je désire faire cela depuis un script. Merci de ne rien poster pour dire: "utiliser l'interpréteur de commande et faire import du nom du module".

    le code serait du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fp = open("fichier.py","r")
    data = fp.readlines()
    execute(data) # c'est là où c'est délicat
    fp.close()

    Merci

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Une possibilité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fp = open("fichier.py","r")
    exec(fp)
    fp.close()
    L'argument de exec peut être une chaine, un 'file' (comme ici) ou du code objet.

    Tyrtamos

  3. #3
    Expert confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Personnellement, je suis sceptique quand au résultat, si ce texte est une succession de lignes python, mais bon, voici une piste, fais des essais:

    >>> s = "3 * 5"
    >>> eval(s)
    15

    >>> s = "print 'bonjour'"
    >>> eval(s)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "<string>", line 1
    print 'bonjour'
    ^
    SyntaxError: invalid syntax

    >>> exec(s)
    bonjour
    >>>

  4. #4
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Merci pour la compétence, mais aussi la réactivité: j'ai juste eu le temps de manger !

  5. #5
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Dernièrement sur le forum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import sys
     
    if sys.version_info[0] == 3:
        def execfile(f, g):
            with open(f, 'r') as f:
                exec(f.read(), g)
     
    def run():
        g = {}
        execfile('config.py', g)
        execfile('script.py', g)
    @+

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

Discussions similaires

  1. Ouvrir un fichier texte dans WordPad
    Par Commodore dans le forum Langage
    Réponses: 5
    Dernier message: 15/06/2006, 11h32
  2. [VB6] Ouvrir un fichier text qui ce trouve sur internet!
    Par passicon dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 03/04/2006, 13h41
  3. Ouvrir un fichier texte
    Par Meno14 dans le forum Access
    Réponses: 5
    Dernier message: 28/03/2006, 17h37
  4. [C++] Menu d'aide: ouvrir un fichier texte
    Par debutanteVB.NET dans le forum C++
    Réponses: 11
    Dernier message: 15/12/2005, 23h12
  5. Ouvrir un fichier texte en lecture ET écriture
    Par Steph12 dans le forum C++
    Réponses: 12
    Dernier message: 17/06/2005, 08h08

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