python代码执行后,进入interactive模式

2020年1月16日 / 3次阅读 / Last Modified 2020年1月16日
Python命令行

python在启动的时候,有一个 -i 参数。此参数的功能是,在运行完python代码后,直接进入interactive模式。

在某些时候,为了调试方便,或者少些一些through-away的代码,可以使用此参数。在有 -i 参数的情况下,python解释器先执行代码,然后不退出解释器,而是直接进入交互模式。此时,我们在交互模式下,就可以查看各种对象的状态,并可以在交互模式下调用调试。

使用python3 -h,查看 -i 参数的解释:

-i : inspect interactively after running script; forces a prompt even
if stdin does not appear to be a terminal; also PYTHONINSPECT=x

比如我有一个函数A,我不想在交互模式下写这个函数,因为写完就没了。因此我在一个文件中编写此函数,文件名为func_a.py:

def A(**kw):
    print('i am function A')

然后,我想在交互模式下测试这个A函数。我以往的做法是先进入python解释器,然后 from func_a import A,有点费劲,因为每次A修改了之后,还要重新reload。

现在可以这样,使用 -i 参数:

$ python3 -i func_a.py
>>> dir()
['A', '__annotations__', '__builtins__', '__cached__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> A()
i am in funcion A

func_a.py执行过程没有任何输出,然后我们就看到了>>>提示符,此时A函数在全局的namespace里面,可以直接调用。如果A函数有修改,退出python解释器,使用 -i 参数重新进一次!我理解python设计这个 -i 参数,主要是为了调试代码。

-- EOF --

本文链接:https://www.pynote.net/archives/1737

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top