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¶
Exemple d'entête pour un script Python 2¶
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¶
- PEP 263 -- Defining Python Source Code Encodings | Python.org
- PEP 394 -- The "python" Command on Unix-Like Systems | Python.org
- shell - Should I put #! (shebang) in Python scripts, and what form should it take? - Stack Overflow
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.