2012-09-25 42 views
5

当处理一个项目时,我的脚本通常会有一些锅炉代码,比如向sys.path添加路径并导入我的项目模块。每次启动交互式解释器以快速检查某些内容时,运行这个锅炉代码非常繁琐,所以我想知道是否可以将脚本传递给解释器,以便它在“交互式”之前运行。是否有可能让Python Interactive Interpreter在加载时运行脚本?

回答

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! 
>>> 

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

+0

也适用于'ipython'。 –

+1

还有''PYTHONSTARTUP''环境变量。我使用这个来通过导入sympy等来设置pythonic计算器。 [添加制表符](http://docs.python.org/library/rlcompleter.html)也很有用。 –

+0

@JonasWielicki:酷!将它添加到答案中。 – Hubro

相关问题