16. 附录
16.1.
交互模式

交互 REPL 变种版本经典基本解释器所有平台受到支持具有最小化控制功能

Windows 具有 curses 支持 Unix 系统默认使用交互 shell。 支持彩色编辑历史浏览粘贴模式禁用彩色参阅 控制颜色 了解详情功能提供一些附加功能。 F1 进入交互帮助浏览器 pydoc。 F2 允许浏览不带输出不带 >>> ... 提示命令行历史。 F3 进入粘贴模式”,可以方便粘贴代码 F3 返回常规提示

使用交互 shell 通过键入 exit quit 退出 shell。 不再需要这些命令之后添加代表调用圆括号

如果想要交互 shell,可以通过 PYTHON_BASIC_REPL 环境变量禁用
16.1.1.
错误处理

发生错误解释器打印错误消息回溯交互模式回到提示输入来自文件时候打印回溯之后退出附带非零退出状态。 ( try 语句 except 子句处理异常在此上下文属于错误。) 有些错误属于无条件致命错误导致程序附带非零状态退出适用内部一致性丧失以及某些内存耗尽情况所有错误消息标准错误来自执行命令正常输出标准输出

中断字符通常 Control-C Delete )键入主要辅助提示取消输入返回提示。 [1] 执行命令键入中断引发 KeyboardInterrupt 异常可以 try 语句处理
16.1.2.
可执行Python脚本

BSD Unix系统,Python 脚本可以 shell 脚本一样直接执行通过第一添加

#!/usr/bin/env python3

假设解释器位于用户 PATH )脚本开头文件设置可执行。 #! 必须文件字符某些平台第一必须Unix样式结尾('\n')结束不是Windows('\r\n')结尾注意,“散列字符”,或者字符”, '#' ,Python代表注释开始

可以使用 chmod 命令脚本提供可执行模式权限

chmod +x myscript.py

Windows系统没有可执行模式概念。 Python安装程序自动 .py 文件 python.exe 相关这样双击Python文件作为脚本运行扩展可以 .pyw ,这种情况隐藏通常出现控制台窗口
16.1.3.
交互启动文件

交互模式使用 Python 可能希望每次启动解释器解释器执行预先编写命令然后交互模式继续使用可以通过名为 PYTHONSTARTUP 环境变量设置包含启动命令文件文件实现类似 Unix shell .profile 功能

Python
只有交互模式读取文件脚本指令或是 /dev/tty 作为运行 Python 脚本文件后者反而表现交互会话)。这个文件交互指令共享相同命名空间所以定义导入对象可以交互会话直接使用可以文件更改提示 sys.ps1 sys.ps2。

如果 当前目录 读取额外启动文件可以上文全局启动文件编写 if os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read()) 这样代码如果脚本使用启动文件必须脚本执行操作

import os
filename = os.environ.get('PYTHONSTARTUP')
if filename and os.path.isfile(filename):
with open(filename) as fobj:
startup_file = fobj.read()
exec(startup_file)

16.1.4.
定制模块

Python
提供钩子进行自定义: sitecustomize usercustomize。 了解如何工作首先需要找到用户 site-packages 目录位置启动 Python 运行以下代码:
>>>

import site


site.getusersitepackages()
'/home/user/.local/lib/python3.x/site-packages'

现在可以目录创建名为 usercustomize.py 文件所需内容放入其中影响Python每次启动除非 -s 选项启动禁用自动导入

sitecustomize
工作方式相同通常计算机管理员全局 site-packages 目录创建 usercustomize 之前导入细节参阅 site 模块文档

备注
[1]

GNU Readline
问题可能阻止这种情况