Bonjour,

Je viens de passer sous Python3 et cela fait 2h que je bloque sur un détail. Je souhaite donc transmettre un fichier à mon script par un pipe (sous Linux) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
cat monfichier.txt | python3 monscript.py
Voici ce que contient mon script:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
import sys, argparse
 
parser = argparse.ArgumentParser()
 
parser.add_argument('fichier', nargs="?", type=argparse.FileType('r'),
						default=sys.stdin, help="translation table file")
 
args = parser.parse_args()
 
for line in args.fichier:
	print(line)
Le script tourne dans le vide et ne retourne rien. Notez que si je le lance de cette manière, en argument :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
python3 monscript.py monfichier.txt
Là, tout fonctionne. Qu'est-ce que j'ai manqué ?