Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Execute python commands passed as strings in command line using python -c

Tags:

python

Is it possible to execute python commands passed as strings using python -c? can someone give an example.

like image 607
honeybadger Avatar asked May 26 '12 18:05

honeybadger


2 Answers

You can use -c to get Python to execute a string. For example:

python3 -c "print(5)"

However, there doesn't seem to be a way to use escape characters (e.g. \n). So, if you need them, use a pipe from echo -e or printf instead. For example:

$ printf "import sys\nprint(sys.path)" | python3

like image 150
Kevin Avatar answered Sep 25 '22 15:09

Kevin


For a single string you can use python -c. But for strings as the question asks, you must pass them to stdin:

$ python << EOF
> import sys
> print sys.version
> EOF
2.7.3 (default, Apr 13 2012, 20:16:59) 
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)]
like image 26
Ignacio Vazquez-Abrams Avatar answered Sep 23 '22 15:09

Ignacio Vazquez-Abrams