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