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

Question:

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

Asked By: honeybadger

||

Answers:

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)]

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 sysnprint(sys.path)" | python3

Answered By: Kevin
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.