可以让Python交互式解释器在加载时运行脚本吗?

可以让Python交互式解释器在加载时运行脚本吗?,python,python-interactive,Python,Python Interactive,在处理项目时,我的脚本通常有一些锅炉板代码,比如向sys.path添加路径和导入项目的模块。每当我启动交互式解释器快速检查某些内容时,运行这个锅炉板代码会变得很乏味,因此我想知道是否有可能将脚本传递给解释器,使其在变为“交互式”之前运行。这可以使用-I选项来完成。引用解释器帮助文本: -i : inspect interactively after running script; forces a prompt even if stdin does not appear

在处理项目时,我的脚本通常有一些锅炉板代码,比如向sys.path添加路径和导入项目的模块。每当我启动交互式解释器快速检查某些内容时,运行这个锅炉板代码会变得很乏味,因此我想知道是否有可能将脚本传递给解释器,使其在变为“交互式”之前运行。

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

-i : inspect interactively after running script; forces a prompt even if stdin does not appear to be a terminal; also PYTHONINSPECT=x -i:运行脚本后进行交互检查;强制提示“均匀” 如果stdin似乎不是终端;另外,PYTHONINSPECT=x 因此,解释器运行脚本,然后在执行后使交互式提示可用

例如:

$ python -i boilerplate.py >>> print mymodule.__doc__ I'm a module! >>> $python-i boilerplate.py >>>打印mymodule.\u文档__ 我是一个模组! >>>
这也可以使用环境变量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! >>> $PYTHONSTARTUP=boilerplate.py python Python 2.7.3(默认值,2012年9月4日10:30:34) [GCC 4.2.1(基于Apple Inc.build 5658)(LLVM build 2336.11.00)]关于达尔文 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>打印mymodule.\u文档__ 我是一个模组! >>>
我个人更喜欢前一种方法,因为它不显示三行信息,但两者都可以完成任务。

还有
PYTHONSTARTUP
环境变量。通过导入Symphy等人,我用它来设置一个Python计算器。这对我来说也很有用。@JonasWielicki:酷!将其添加到答案中。