有没有办法在使用ipython时通过命令行将参数传递给我的python脚本?理想情况下,我想将我的脚本称为:
ipython -i script.py --argument blah
我希望能够在--argument
中列出blah
和sys.argv
。
答案 0 :(得分:48)
您可以在此之前使用一个--
个选项:
ipython script.py -- --argument blah
Ipython
的帮助:
ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ...
If invoked with no options, it executes the file and exits, passing the
remaining arguments to the script, just as if you had specified the same
command with python. You may need to specify `--` before args to be passed
to the script, to prevent IPython from attempting to parse them. If you
specify the option `-i` before the filename, it will enter an interactive
IPython session after running the script, rather than exiting.
演示:
$ cat script.py
import sys
print(sys.argv)
$ ipython script.py -- --argument blah
['script.py', '--argument', 'blah']
$ ipython script.py -- arg1 arg2
['script.py', 'arg1', 'arg2']