104 votes

Comment exécuter Python en ligne à partir d'un shell bash ?

Existe-t-il un argument Python pour exécuter du code à partir du shell sans démarrer un interpréteur interactif ou lire un fichier ? Quelque chose de similaire :

perl -e 'print "Hi"'

178voto

Mike Müller Points 2963

Ça marche :

python -c 'print("Hi")'
Hi

Du manuel, man python :

   -c command
          Specify  the command to execute (see next section).  This termi-
          nates the option list (following options are passed as arguments
          to the command).

34voto

doukremt Points 1902

Une autre façon est d'utiliser la redirection bash :

python <<< 'print "Hi"'

Et cela fonctionne aussi avec perl, ruby, et autres.

p.s.

Pour économiser les guillemets ' et " pour le code python, nous pouvons construire le bloc avec EOF.

c=`cat <<EOF
print(122)
EOF`
python -c "$c"

24voto

awltux Points 381

A ' heredoc ' peut être utilisé pour alimenter directement un script dans l'interpréteur python :

python <<HEREDOC
import sys
for p in sys.path:
  print(p)
HEREDOC

/usr/lib64/python36.zip
/usr/lib64/python3.6
/usr/lib64/python3.6/lib-dynload
/home/username/.local/lib/python3.6/site-packages
/usr/local/lib/python3.6/site-packages
/usr/lib64/python3.6/site-packages
/usr/lib/python3.6/site-packages

1voto

gnibbler Points 103484

Une autre façon est d'utiliser le e module

eg.

$ python -me 1 + 1
2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X