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
