IPython*脚本*的命令行选项?

JS.*_*JS. 36 python ipython

我经常被要求调试其他人编写的Python脚本.我想将这些脚本发送到IPython,因此它会在脚本失败时插入到IPython shell中.

不幸的是,我找不到发送脚本所需的命令行选项的方法.

当我将脚本及其选项传递为以下内容时,IPython假定所有内容都适用于IPython:

ipython <script_name> <script_options>
Run Code Online (Sandbox Code Playgroud)

有解决方案或解决方法吗?

小智 44

ipython -- sometest.py 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

  • 另外要保留在交互式shell中,请使用`ipython -i - sometest.py 1 2 3 4`语法. (3认同)
  • 请注意,' - '是系统shell解释器的一个特性,并不是特定于ipython shell的 (3认同)
  • 它有效,但我在文档中找不到这个,你能指出我记录的地方吗? (2认同)

dr *_*bob 26

ipython -i -c "%run test.py 1 2 3 4"
Run Code Online (Sandbox Code Playgroud)

  • 那么你可以启动ipython,然后运行test.py 1 2 3 4 (3认同)
  • 实际上,添加-i使其保留在外壳中。 (2认同)

Jon*_*dad 5

我知道有一个已经被接受的解决方案,但是在最新版本的 ipython 中这不起作用。这是我用来使用 --autoreload 运行龙卷风测试的命令的剪切和粘贴

ipython --c="%run test.py --autoreload"
Run Code Online (Sandbox Code Playgroud)

这是使用 ipython .11。