Python flux dans le terminal

Bonjour à tous,

Voila j'aimerai savoir, si c'est possible, comment récupérer le flux d'un script dans le terminal d'ubuntu et s'en servir dans un script python, avec "sys.argv".

Par exemple ici:
echo test | wc

la commande "wc" s'applique sur le flux de sortie "test" affiché par la commande "echo",
Moi j'aimerai récupérer ce flux dans les arguments de mon script python afin de travailler sur cette sortie, comme par exemple:
python script1.py | python script2
Est-ce possible?

Merci.

3 réponses

  1. Non je n'arrive pas à récupérer ce que j'affiche avec le premier en argument sur le second :(... Une autre idée? Peut-être y-a-t'il un autre moyen?
    1. Contributeur
      Es-tu sûr de ta syntaxe en python ?
    2. Oui, le programme fonctionne si je met en os.system() les paramètres en argument. Mais exemple tout bete:
      #!/usr/bin/env python 
      
      import sys 
      
      if len(sys.argv)>1: 
       print sys.argv[1] 
      else: 
       print "No Argv"


      ce code par exemple, si je l'utilise comme suit:
      ./test.py test1| ./test.py

      Il me dit qu'il n'y a aucun argument, or c'est là que j'aimerai les récupérer...
    3. Contributeur
      Là c'est plus un problème de syntaxe python qu'un simple problème d'entrée/sortie en shell ;-((

      On va basculer sur le forum programmation ;-)
    4. Ok d'acc!

      Peut-etre est-il récupéré ailleurs que dans le sys.argv?? Dans ce cas dans quoi?
  2. Contributeur
    Salut,

    Je suppose qu'en mettant un shebang approprié dans tes scripts python, en les rendant exécutables par la suite et en les lançant comme suit :

    ./script1.py | ./script2.py

    Ça devrait le faire, non ?