← retour aux snippets

argparse: charger des options depuis un fichier avec @

Utiliser fromfile_prefix_chars pour inclure des arguments depuis un fichier.

python cli #argparse#cli

objectif

Utiliser fromfile_prefix_chars pour inclure des arguments depuis un fichier.

code minimal

import argparse, tempfile, pathlib
p = argparse.ArgumentParser(fromfile_prefix_chars="@")
p.add_argument("--x", type=int, required=True)
with tempfile.TemporaryDirectory() as tmp:
    f = pathlib.Path(tmp)/"args.txt"; f.write_text("--x 3\n", encoding="utf-8")
    ns = p.parse_args(["@"+str(f)])
    print(ns.x == 3)  # attendu: True

utilisation

import argparse
p = argparse.ArgumentParser(fromfile_prefix_chars="@")
p.add_argument("--name")
ns = p.parse_args(["--name","Ada"])
print(ns.name == "Ada")

variante(s) utile(s)

import argparse
print("--" in p.format_help())

notes

  • Chaque ligne du fichier est traitée comme des tokens d’arguments.
  • Combinez avec defaults/env pour une CLI flexible.