16.1.3. 交互式启动文件

当您以交互方式使用Python时,每次启动解释器时都会执行一些标准命令,这通常很方便。您可以通过将名为 PYTHONSTARTUP 的环境变量设置为包含启动命令的文件名来实现。这类似于Unix shell的 .profile 功能。

此文件只会在交互式会话时读取,而非在 Python 从脚本读取指令或是在给定 /dev/tty 为指令的明确来源时(后者反而表现得像是一个交互式会话)。 该文件执行时所在的命名空间与交互式指令相同,所以它定义或导入的对象可以在交互式会话中直接使用。 你也可以在该文件中更改提示符 sys.ps1sys.ps2

如果你想从当前目录中读取一个额外的启动文件,你可以使用像 if os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read()) 这样的代码在全局启动文件中对它进行编程。如果要在脚本中使用启动文件,则必须在脚本中显式执行此操作:

  1. import os
  2. filename = os.environ.get('PYTHONSTARTUP')
  3. if filename and os.path.isfile(filename):
  4. with open(filename) as fobj:
  5. startup_file = fobj.read()
  6. exec(startup_file)