Aller au contenu

Scripting

Entête de script Python

En général, l'entête d'un script Python doit comporter :

  • la version de Python utilisée;
  • l'encodage du fichier.

Exemple d'entête pour un script Python 3

#!/usr/bin/env python3
# -*- coding: utf_8 -*-

Exemple d'entête pour un script Python 2

#!/usr/bin/env python2
# -*- coding: utf_8 -*-

Attention

La déclaration #!/usr/bin/env python est ambiguë. En effet elle peut faire référence à Python 2.x ou Python 3.x en fonction des versions de Python installées sur le système.

Ressources

Environnement d'exécution principal

if __name__ == "__main__":
    # Execute when the module is not initialized from an import statement.
    pass

Ressources

Script simple

#!/usr/bin/env python3
# -*- coding: utf_8 -*-

def main() -> int:
    print("Hello, World!")
    return 0


if __name__ == "__main__":
    import sys

    sys.exit(main())

Script simple avec arguments

sys.argv permet de récupérer la liste des arguments de la ligne de commande passés à un script Python.

#!/usr/bin/env python3
# -*- coding: utf_8 -*-

def main(argv: list[str] = []) -> int:
    print("argv:", argv)
    return 0


if __name__ == "__main__":
    import sys

    sys.exit(main(sys.argv))

Command Line Interfaces (CLIs)

  • Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary.
  • Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.