Python Tutorial(二):使用Python解释器

2.1 调用解释器

Python 解释器通常安装到 /usr/local/bin/python3.3,把 /usr/local/bin 放入到你的 Unix shell 的搜索路径里,使能够通过在 shell 中键入命令启动:

python3.3

因为解释器的安装目录是可选的,其它路径也可以。通过你本地的 Python 专家或系统管理员进行核实。(/usr/local/python 是一个流行的可选位置)

在 Windows 机器上,Python 通常安装在 c:\python33,你可以在安装时改变这个位置。把这个目录添加到 path 中去,可以在命令提示符中键入下面命令:

set path=%path%;C:\python33

在主提示符键入一个文件结束符(Control-D 在 Unix 上,Control-Z 在 Windows 上)使解释器以零状态退出。如果这样不行,可以键入 quit() 命令退出解释器。

解释器操作有些像 Unix shell:当以连接到一个 tty 设备的标准输入调用时,它交互的读取和执行命令。当以一个文件名字参数或一个文件作为标准输入时,它从文件里读取和执行脚本。

第二种启动解释器的方式是 python -c command [arg] ...,在命令里面执行语句,与 shell 的 -c 选项较为相似。因为 Python 语句里经常包含空格或其它字符,这些对于 shell 都是特殊字符,通常建议使用单引号将命令全部包括起来。

一些 Python 模块作为脚本也是非常有用的,它们可以使用 python -m module [arg] ... 来调用,它执行源文件,就像你在命令行里面拼写全名一样。

当一个脚本文件被使用,可以运行脚本,然后进入交互模式。可以通过在脚本前传入 -i 来完成。

2.1.1 参数传递

当知道了解释器,脚本名称和额外的参数此后被转化到一个字符串列表里,并且赋给 sys 模块里的 argv 变量。你可以执行 import sys 来访问这个列表。列表的长度至少是 1。当没有脚本和参数时,sys.argv[0] 是一个空字符串。当脚本的名字是 - 时(意味着标准输入),sys.argv[0] 被设置为 -。当使用 -c 命令时,sys.argv[0] 被设置为 -c。当使用 -m 模块时,sys.argv[0] 被设置为指定模块的全名。-c 或 -m 后面的选项不被 Python 解释器的选项处理所使用,而是留在 sys.argv 中被命令或模块处理。

2.1.2 交互模式

当从一个 tty 读到命令时,解释器被说成是交互模式。它通过主提示符提示下一条命令,通常三个大于号(>>>)。对于继续的行,使用第二提示符进行提示,默认是三个点(...)。解释器在打印出第一条提示符之前会先打印一个欢迎消息显示出版本号和版权注意:

$ python3.3
Python 3.3 (default, Sep 24 2012, 09:25:04)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

当进入一个多行结构时,就需要继续行了。例如,看下面的 if 语句:

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

2.2 解释器和它的环境

2.2.1 错误捕获

当一个错误发生时,解释器打印一个错误信息和堆栈跟踪。在交互模式,返回到主提示符。当从一个文件输入时,打印出堆栈跟踪后以非零状态退出。(异常被 try 语句的 except 从句捕获并不算错误)一些错误是无条件的致命的,引起以非零状态退出。这是由于内部矛盾和一些内存不足造成的。所有的错误消息被写到标准错误流。正常的执行命令输出被写入标准输出。

键入中断字符(通常 Control-C 或 DEL)到主要或二级提示符取消输入返回到主提示符。当命令正在运行时键入中断会引起 KeyboardInterrupt 异常,可以被 try 语句捕获。

2.2.2 可执行 Python 脚本

在 BSD Unix 系统上,Python 脚本直接就是可执行的,像 shell 脚本,通过加入这行:

#! /usr/bin/env python3.3

(假定解释器在用户的 PATH 上)在脚本的开始,给文件一个可执行模式。#! 必须是文件的前两个字符。在一些平台上,第一行必须以 Unix 样式结尾(\n),不是 Windows 样式(\r\n)。注意那个 #字符,通常使用它作为单行注释。

脚本可以被给一个可执行模式,或权限,使用 chmod 命令:

$ chmod +x myscript.py

在 Windows 系统,没有可执行模式的概念。Python 安装程序自动关联.py 文件到 python.exe,双击一个 Python 文件即作为脚本运行它。扩展名也可以是.pyw,这时,控制台窗口的出现一般被阻止。

2.2.3 源文件编码

默认,Python 源文件被以 UTF-8 编码对待。世界上多数语言字符可以同时用作字符串字面量,标识符和注释,尽管标准库只使用 ASCII 字符作为标识符,一个任何轻便代码都应该遵守的习惯。为了所有的字符都能适合的显示,你的编辑器必须能认出文件是 UTF-8,必须使用一种能支持文件中所有字符的字体。

也可以为源文件指定一个不同的编码。在 #! 行后面多加一行特别的注释行来定义源文件编码:

# -*- coding: encoding -*-

有了这个声明后,源文件中的所有内容都被作为新的编码对待,可能的编码列表在 Python 的库中会被找到。

例如,你选择的编辑器不支持 UTF-8 编码文件,并且坚决使用其它编码,如 Windows-1252,你可以这样写:

# -*- coding: cp-1252 -*-

源文件中所有字符都使用 Windows-1252 字符集。这个特别的编码注释必须被放在文件的第一或第二行。

本文是对官方网站内容的翻译,原文地址:http://docs.python.org/3/tutorial/interpreter.html