我想要做一些类似以下的事情:
% python foo bar
import sys
sys.argv
获取:
% ['foo', 'bar']
当您输入的参数不是脚本或者进入非交互模式时,Python会自动停止运行。是否有办法解决这个问题呢?
我想要做一些类似以下的事情:
% python foo bar
import sys
sys.argv
获取:
% ['foo', 'bar']
使用 -
作为脚本名称:
python - foo bar
测试:
>>> import sys
>>> sys.argv
['-', 'foo', 'bar']
$ 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']
>>>
以这种方式运行Python:
python - foo bar
import sys
sys.argv
会起作用 :)
你可以在 IDLE 中手动设置来进行测试:
try:
__file__
except:
sys.argv = [sys.argv[0], 'foo', 'bar']
python foo bar
不会运行 Python。 - Kissiel