2.1. 调用解释器
在Python可用的机器上,Python解释器通常放在 /usr/local/bin/python3.7
; 把 /usr/local/bin
放到你 Unix shell 的搜索路径当中 , 这样就能键入命令:
- python3.7
就能运行了 1 。安装时可以选择安装目录,所以解释器也可能在别的地方;可以问问你身边的 Python 大牛,或者你的系统管理员。(比如 /usr/local/python
也是比较常用的备选路径)
在 Windows 机器上当你从 Microsoft Store 安装 Python 之后,python3.7
命令将可使用。 如果你安装了 py.exe 启动器,你将可以使用 py
命令。 参阅 附录:设置环境变量 了解其他启动 Python 的方式。
在主提示符中输入文件结束字符(在 Unix 系统中是 Control-D,Windows 系统中是 Control-Z)就退出解释器并返回退出状态为0。如果这样不管用,你还可以写这个命令退出:quit()
。
解释器的行编辑功能在支持 GNU Readline 库的系统中也包括交互式编辑,历史替换和代码补全等。 检测是否支持行编辑最快速的方式是在首次出现 Python 提示符时输入 Control-P。 如果听到“哔”提示音,就说明支持行编辑;请参阅附录 交互式编辑和编辑历史 了解有关功能键的介绍。 如果什么都没发生,或是回显了 ^P
,说明不支持行编辑;你只能用退格键从当前行中删除字符。
解释器运行的时候有点像 Unix 命令行:在一个标准输入 tty 设备上调用,它能交互式地读取和执行命令;调用时提供文件名参数,或者有个文件重定向到标准输入的话,它就会读取和执行文件中的 脚本。
另一种启动解释器的方式是 python -c command [arg] …
,其中 command 要换成想执行的指令,就像命令行的 -c
选项。由于 Python 代码中经常会包含对终端来说比较特殊的字符,通常情况下都建议用英文单引号把 command 括起来。
有些 Python 模块也可以作为脚本使用。可以这样输入:python -m module [arg] …
,这会执行 module 的源文件,就跟你在命令行把路径写全了一样。
在运行脚本的时候,有时可能也会需要在运行后进入交互模式。这种时候在文件参数前,加上选项 -i
就可以了。
关于所有的命令行选项,请参考 命令行与环境。
2.1.1. 传入参数
如果可能的话,解释器会读取命令行参数,转化为字符串列表存入 sys
模块中的 argv
变量中。执行命令 import sys
你可以导入这个模块并访问这个列表。这个列表最少也会有一个元素;如果没有给定输入参数,sys.argv[0]
就是个空字符串。如果脚本名是 '-'
就是 (标准输入)时,
sys.argv[0]'-'
。使用 -c
命令 时,sys.argv[0]
就会是 '-c'
。如果使用选项 -m
module,sys.argv[0]
就是包含目录的模块全名。在 -c
command 或 -m
module 之后的选项不会被解释器处理,而会直接留在 sys.argv
中给命令或模块来处理。
2.1.2. 交互模式
在终端(tty)输入并执行指令时,我们说解释器是运行在 交互模式(interactive mode)。在这种模式中,它会显示 主提示符(primary prompt),提示输入下一条指令,通常用三个大于号(>>>
)表示;连续输入行的时候,它会显示 次要提示符,默认是三个点(…
)。进入解释器时,它会先显示欢迎信息、版本信息、版权声明,然后就会出现提示符:
- $ python3.7
- Python 3.7 (default, Sep 16 2015, 09:25:04)
- [GCC 4.8.2] on linux
- Type "help", "copyright", "credits" or "license" for more information.
- >>>
多行指令需要在连续的多行中输入。比如,以 if
为例:
- >>> the_world_is_flat = True
- >>> if the_world_is_flat:
- ... print("Be careful not to fall off!")
- ...
- Be careful not to fall off!
有关交互模式的更多内容,请见 交互模式。