【发布时间】:2014-02-26 20:28:02
【问题描述】:
我想做这样的事情:
% python foo bar
import sys
sys.argv
得到:
% ['foo', 'bar']
但是当你输入一个不是脚本的参数或者进入非交互模式时,python当然会死掉。
我可以这样做吗?
【问题讨论】:
标签: python read-eval-print-loop argv
我想做这样的事情:
% python foo bar
import sys
sys.argv
得到:
% ['foo', 'bar']
但是当你输入一个不是脚本的参数或者进入非交互模式时,python当然会死掉。
我可以这样做吗?
【问题讨论】:
标签: python read-eval-print-loop argv
使用- 作为脚本名称:
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