« Python argparse » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « Le module <code>argparse</code> pour Python permet de traiter les arguments et les options passés en ligne de commande. == Exemple simple == On souhaite avoir un programme qui traite un fichier texte et, soit afficher le résultat sur la sortie standard soit dans un fichier donné en option.<syntaxhighlight lang="python3"> import argparse parser = argparse.ArgumentParser(description='Translate file') parser.add_argument('filename', help='xln (text) file')... ») |
mAucun résumé des modifications |
||
Ligne 17 : | Ligne 17 : | ||
args.outfile.close() | args.outfile.close() | ||
</syntaxhighlight>Si on appelle le programme sans aucun paramètre:<syntaxhighlight lang="text"> | </syntaxhighlight>Si on appelle le programme sans aucun paramètre:<syntaxhighlight lang="text"> | ||
python3 myprog.py | |||
usage: myprog.py [-h] [-w OUTFILE] filename | usage: myprog.py [-h] [-w OUTFILE] filename | ||
myprog.py: error: the following arguments are required: filename | |||
</syntaxhighlight>OK je dois fournir un fichier: | </syntaxhighlight>OK je dois fournir un fichier:<syntaxhighlight lang="text"> | ||
python3 myprog.py text.txt | |||
text.txt | |||
</syntaxhighlight>C'est une syntaxe valable!<syntaxhighlight lang="text"> | |||
python3 myprog.py -w out.txt text.txt | |||
text.txt | |||
</syntaxhighlight>Et si on regarde on a un fichier out.txt qui contient "Hello world!\n" |
Version actuelle datée du 11 février 2024 à 15:06
Le module argparse
pour Python permet de traiter les arguments et les options passés en ligne de commande.
Exemple simple
On souhaite avoir un programme qui traite un fichier texte et, soit afficher le résultat sur la sortie standard soit dans un fichier donné en option.
import argparse
parser = argparse.ArgumentParser(description='Translate file')
parser.add_argument('filename', help='xln (text) file')
parser.add_argument('-w', type=argparse.FileType('w', encoding='latin-1'), dest='outfile', help='the file to write')
args = parser.parse_args()
print ("Read form file :",end='')
print (args.filename)
if (args.outfile):
args.outfile.write("Hello world!")
args.outfile.close()
Si on appelle le programme sans aucun paramètre:
python3 myprog.py
usage: myprog.py [-h] [-w OUTFILE] filename
myprog.py: error: the following arguments are required: filename
OK je dois fournir un fichier:
python3 myprog.py text.txt
text.txt
C'est une syntaxe valable!
python3 myprog.py -w out.txt text.txt
text.txt
Et si on regarde on a un fichier out.txt qui contient "Hello world!\n"