是否有可能让Python Interactive Interpreter在加载时运行脚本?

时间:2012-09-25 11:03:40

标签: python python-interactive

在处理项目时,我的脚本通常有一些样板代码,比如添加sys.path的路径和导入项目的模块。每次启动交互式解释器以快速检查某些内容时,运行此样板代码都会很繁琐,所以我想知道是否可以将脚本传递给解释器,它将在它变为“交互式”之前运行。< / p>

1 个答案:

答案 0 :(得分:6)

可以使用-i选项完成。引用解释器帮助文本:

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

因此解释器运行脚本,然后在执行后使交互式提示符可用。

示例:

$ python -i boilerplate.py
>>> print mymodule.__doc__
I'm a module!
>>>

这也可以使用环境变量 PYTHONSTARTUP 来完成。例如:

$ PYTHONSTARTUP=boilerplate.py python
Python 2.7.3 (default, Sep  4 2012, 10:30:34) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print mymodule.__doc__
I'm a module!
>>>

我个人更喜欢前一种方法,因为它没有显示三行信息,但要么完成工作。