我可以在交互模式下访问python中的sys.argv吗?

shi*_*eta 6 python argv read-eval-print-loop

我想做点什么:

% python foo bar
import sys
sys.argv
Run Code Online (Sandbox Code Playgroud)

要得到:

%  ['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)

但是当你输入一个不是脚本的参数或者你进入非交互模式时,python会死掉.

我能以某种方式这样做吗?

ndp*_*dpu 14

使用-的脚本名称:

python - foo bar
Run Code Online (Sandbox Code Playgroud)

测试:

>>> import sys
>>> sys.argv
['-', 'foo', 'bar']
Run Code Online (Sandbox Code Playgroud)


Jav*_*ier 7

$ python - asdf asdf
Python 2.7.6 (default, Feb 15 2014, 23:06:13) 
[GCC 4.8.2 20140206 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.argv
['-', 'asdf', 'asdf']
>>> 
Run Code Online (Sandbox Code Playgroud)