Exécution d'un fichier Python dans le Terminal

J'essaie d'apprendre à exécuter régulièrement mes scripts via le terminal d'Ubuntu. Cela étant dit, je suis familier avec bash, wget, et awk être appelé mais comment appeler des fichiers python à exécuter dans le terminal? J'aimerais apprendre cela, mais je ne sais pas où le rechercher. J'ai un .pyw fichier qui fait référence à plusieurs .py fichiers dans un dossier.

Option 1: Appeler l'interprète

  • Pour Python 2: python <filename>.py
  • Pour Python 3: python3 <filename>.py

Option 2: Laissez le script appeler l'interpréteur

  1. Assurez-vous que la première ligne de votre fichier a #!/usr/bin/env python.
  2. Rendez-le exécutable - chmod +x <filename>.py.
  3. Et exécutez-le comme ./<filename>.py

Il suffit de préfixer le nom de fichier du script avec python. E. g.:

python filename.py

Il convient également de mentionner qu'en ajoutant un -i drapeau après python, vous pouvez continuer à exécuter votre session pour un codage ultérieur. Pareil:

python -i <file_name.py>
python <filename.py>

pyw devrait fonctionner de la même manière, je pense. Vous pouvez également démarrer une console interactive avec juste

python

De plus, vous pouvez éviter d'avoir à invoquer python explicitement en ajoutant un shebang en haut du script:

#!/usr/bin/env python

... ou un nombre quelconque de variations de celui-ci

Première exécution de la commande suivante

chmod +x <filename>.py

Puis en haut du script, ajoutez #! et le chemin de l'interpréteur Python:

#!/usr/bin/python

Si vous souhaitez que le script soit indépendant de l'emplacement de l'interpréteur Python, vous pouvez utiliser le env programme. Presque toutes les variantes Unix prennent en charge ce qui suit, en supposant que l'interpréteur Python se trouve dans un répertoire de l'utilisateur $PATH:

#! /usr/bin/env python

Modifier les répertoires en utilisant cd dans le répertoire contenant le .py et exécutez l'une des deux commandes suivantes:

python <filename>.py  # for Python 2.x  python3 <filename>.py # for Python 3.x 

Vous pouvez également exécuter l'une des deux commandes suivantes:

python /path/to/<filename>.py  # for Python 2.x  python3 /path/to/<filename>.py # for Python 3.x 

Essayez d'utiliser la commande python3 au lieu de python. Si le script a été écrit en Python3 et que vous essayez de l'exécuter avec Python2, vous pourriez avoir des problèmes. Ubuntu a les deux; changer le nom du programme en python3 (au lieu de remplacer python) a rendu cela possible. Ubuntu a besoin de la v2.7 (à partir du 16/2/2017), alors NE supprimez pas ou ne supprimez pas Python2, mais conservez-les tous les deux. Prenez l'habitude d'utiliser Python3 pour exécuter des scripts, qui peuvent s'exécuter soit.

Cas différentiel dans ce qui suit car le titre original est trop général, y compris l’exécution d’un script python dans le terminal pour appeler
une fonction Running python functions from terminal - Stack Overflow