Search code examples
pythonread-eval-print-loopargv

Can I access sys.argv in python in interactive mode?


I'd like to do something like:

% python foo bar
import sys
sys.argv

to get:

%  ['foo', 'bar']

but of course python dies when you enter an argument which is not a script or goes into non interactive mode if you do.

Can I do this somehow?


Solution

  • Use - as script name:

    python - foo bar
    

    Test:

    >>> import sys
    >>> sys.argv
    ['-', 'foo', 'bar']