2.1. 调用 Python 解释器¶
Python 解释器通常安装在目标机器的 /usr/local/bin/ 目录下. 将 /usr/local/bin 目录放进你的 Unix Shell 的搜索路径里, 确保它可以通过输入:
python3.2
启动. [1] 因为安装路径是可选的, 所以也可能安装在其它位置,
具体的你可以咨询当地 Python 导师或系统管理员.
(例如, /usr/local/python 就是一个很常见的选择)
在 Windows 机器中, Python 通常安装在 C:\Python32 目录.
当然, 我们可以在运行安装程序的时候改变它.
需要把这个目录加入到我们的 Path 中的话, 可以像下面这样在 DOS 窗中输入命令行:
set path=%path%;C:\python32
输入一个文件结束符 ( UNIX 上是 Control-D , Windows 上是 Control-Z )
解释器会以 0 值退出. 如果没有起作用, 你可以输入以下命令退出: quit().
解释器的行编辑功能并不复杂, 装在 UNIX 上的解释器可能需要 GNU readline
库支持, 这样就可以额外得到精巧的交互编辑和历史记录功能. 确认命令行编辑器支持能力
最方便的方式可能是在主提示符下输入 Control-P, 如果有嘟嘟声 (计算机扬声器),
说明你可以使用命令行编辑功能 (在 交互式输入编辑及历史替代 在快捷键的介绍). 如果什么也没有发声, 或者显示 ^P,
说明命令行编辑功能不可用; 你将只能用退格键删除当前行的字符.
解释器的操作有些像 UNIX Shell: 使用终端设备作为标准输入来调用它时,
解释器交互地解读和执行命令, 通过文件名参数或以文件作为标准输入时,
它从文件中解读并执行脚本.
启动解释器的第二个方法是 python -c command [arg] ...,
这种方法会执行 command 中的语句, 等同于 Shell 的 -c 选项.
因为 Python 语句中通常会包括空格之类的对 shell 有特殊含义的字符,
所以最好把整个 command 用单引号包起来.
有一些 Python 模块也可以当作脚本使用. 它们可以通过
python -m module [arg] ... 调用,
这如同在命令行中给出其完整文件名来运行一样.
使用脚本文件时, 经常会运行脚本然后进入交互模式. 这也可以通过在脚本之前加上 -i
参数来实现. (如果脚本来自标准输入, 就不能这样执行, 与前述提及原因一样. )
2.1.1. 参数传递¶
调用解释器时, 脚本名和附加参数传入一个名为 sys.argv 的字符串列表.
没有给定脚本和参数时, 它至少有一个元素: sys.argv[0], 此时它是一个空字符串,
脚本名指定为 '-' (表示标准输入) 时, sys.argv[0] 被设为 '-' .
使用 -c 命令 时, sys.argv[0] 被设定为 '-c' .
使用 -m 模块 时, sys.argv[0] 被设定为模块的全名.
-c command 或 -m module 之后的参数不会被 Python 解释器的选项处理机制所截获, 而是留在 sys.argv 中, 供命令或模块操作.
2.1.2. 交互模式¶
从 tty 读取命令时, 我们称解释器工作于 交互模式 ( interactive mode ).
这种模式下它通过*主提示符* (primary prompt*) 提示下一条命令,
主提示符通常为三个大于号 (>>>);
而通过从提示符由(三个点标识 ... 组成)提示一条命令的续行.
在第一条命令之前, 解释器会打印欢迎信息, 版本号和授权提示:
$ python3.2
Python 3.2 (py3k, Sep 12 2011, 12:21:02)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-8)] 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!