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 :

sys.stdin dans pyscripter


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Par défaut sys.stdin dans pyscripter
    Bonjour.
    J'utilise python 3.2 et pyscripter.
    Ceci marche très bien en lançant le programme depuis IDLE. Mais quand je le lance depuis pyscripter, la redirection de stdin ne se fait pas, une fenêtre d'input s'ouvre... Les "print" sont bien redirigés vers le fichier (et écrits dedans).
    Quelqu'un sait-il comment arranger ceci ?
    Merci d'avance

    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
     
    import sys
    svg=sys.stdout #sauvegarde de la sortie console
    sys.stdout=open("essai.txt","w") #redirection de la sortie vers le fichier
    print("coucou") #sera écrit dans le fichier
     
    svgi=sys.stdin
    sys.stdin=open("entree.txt","r")
     
    n=input() #on lit les entrées dans le fichier
    m=input()
    r=int(input())
    print(n,m,r*2)
     
    sys.stdout.close()
    sys.stdin.close()
    sys.stdin=svgi
    sys.stdout=svg #on restaure la sortie console

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Salut,
    Le problème disparait avec readline :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    n = sys.stdin.readline()
    m = sys.stdin.readline()
    r = int(sys.stdin.readline())

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Par défaut
    Bonsoir.
    J'ai trouvé une autre manière de faire..
    J'ai redéfini la fonction input....
    Je voulais trouver une manière de tester des codes d'un même programme avec les mêmes jeux de tests (comme sur france-ioi.fr).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import sys
     
    file=open("entree.txt","r")
    def input():
     
        return file.readline()
     
    n=input()
    m=input()
    r=int(input())
    print(n,m,r*2)
    Et ça marche nickel, même avec pyscripter...
    Il suffit alors de rajouter la nouvelle fonction input dans les codes proposés....
    et de rediriger stdout vers un fichier texte.....puis d'écrire un programme qui compare le texte avec le texte qu'il fallait obtenir...
    Merci tout de même à dardanos.

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

Discussions similaires

  1. gobject main loop and sys.stdin.readline
    Par Invité dans le forum GTK+ avec Python
    Réponses: 2
    Dernier message: 01/03/2012, 08h44
  2. erreur sys.dll . . . dans C:\ \gdiplus.man à la ligne 4
    Par mh333 dans le forum Ordinateurs
    Réponses: 1
    Dernier message: 30/11/2010, 13h08
  3. Option -Qnew dans PyScripter
    Par magicvinni dans le forum EDI/RAD
    Réponses: 0
    Dernier message: 25/04/2010, 21h44
  4. Problème avec stdin dans fgets
    Par gaetan24430 dans le forum Débuter
    Réponses: 10
    Dernier message: 23/01/2009, 17h03
  5. Test non bloquant de présence de caractères dans sys.stdin?
    Par tyrtamos dans le forum Général Python
    Réponses: 2
    Dernier message: 31/08/2008, 19h05

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