Python交互式解释器能否在加载时运行脚本?

6

当我在项目中工作时,我的脚本经常有一些样板代码,比如将路径添加到sys.path并导入我的项目模块。每次启动交互式解释器快速检查某些内容时运行这个样板代码变得很繁琐,因此我想知道是否可以将一个脚本传递给解释器,在它成为“交互式”之前运行。

1个回答

6
可以使用-i选项来完成。引用解释器帮助文本:
-i :运行脚本后进行交互式检查;即使stdin不是终端也会强制提示;还有PYTHONINSPECT=x
因此,解释器在执行脚本后提供交互提示。
示例: $ python -i boilerplate.py >>> print mymodule.__doc__ 我是一个模块! >>>
这也可以使用环境变量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__ 我是一个模块! >>>
我个人更喜欢前一种方法,因为它不显示三行信息,但任何一种都能完成工作。

1
还有一个名为“PYTHONSTARTUP”的环境变量。我使用它来通过导入sympy等设置Python计算器。此外,还可以使用它来添加选项卡完成 - Jonas Schäfer
@JonasWielicki:很棒!已添加到答案中。 - Hubro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接