je l'ai trouvé très utile la syntaxestdin en option en Python avec argparse
parser.add_argument('-i', '--input-file', type=argparse.FileType('r'), default='-')
pour spécifier un fichier d'entrée ou à l'aide qui stdin les deux que je veux dans mon programme. Cependant, le fichier d'entrée n'est pas toujours requis. Si je ne suis pas à l'aide -i
ou de rediriger l'entrée avec l'un des
$ someprog | my_python_prog
$ my_python_prog < inputfile
Je ne veux pas que mon programme Python attendre pour l'entrée. Je veux juste avancer et utiliser les valeurs par défaut.
Je sais que je l'ai dit à propos de la réponse précédente, mais _this_ est exactement ce que je cherchais. Je vous remercie. –
Je suis absolument désorienté. OP a déclaré que le fichier d'entrée n'était pas toujours requis. Alors, pourquoi 'infile' est-il spécifié en premier? Pourquoi sont-ils positionnels de toute façon? Enfin, pourquoi diable le code OP ne fonctionnerait-il pas? Le tutoriel 'argparse' semble impliquer qu'il devrait fonctionner correctement ... – 2rs2ts
@ 2rs2ts _pourquoi est-ce que' infile' est spécifié en premier? _ - Un ordre particulier des arguments est juste une convention, on s'attend généralement à ce que le premier argument spécifie une entrée et deuxième spécifier la sortie. _Pourquoi sont-ils positionnels de toute façon? _ - En raison de la préférence de l'auteur. Rien de mal avec cette utilisation des arguments positionnels. Peut-être un peu difficile à utiliser dans un scénario lorsque vous voulez lire depuis stdin et écrire dans un fichier, par exemple ''app.py-outfile', mais autre que cet argument positionnel fonctionnerait très bien. _Pourquoi le code d'OP ne fonctionnera-t-il pas? _ - ça fonctionne vraiment bien :) –