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

來源:互聯網
上載者:User
文章目錄
  • 2.1.1 參數傳遞
  • 2.1.2 互動模式
  • 2.2.1 錯誤捕獲
  • 2.2.2 可執行Python指令碼
  • 2.2.3 源檔案編碼
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]是一個Null 字元串。當指令碼的名字是-時(意味著標準輸入),sys.argv[0]被設定為-。當使用-c命令時,sys.argv[0]被設定為-c。當使用-m模組時,sys.argv[0]被設定為指定模組的全名。-c或-m後面的選項不被Python解譯器的選項處理所使用,而是留在sys.argv中被命令或模組處理。

2.1.2 互動模式

當從一個tty讀到命令時,解譯器被說成是互動模式。它通過主提示符提示下一條命令,通常三個大於符號(>>>)。對於繼續的行,使用第二提示符進行提示,預設是三個點(...)。解譯器在列印出第一條提示符之前會先列印一個歡迎訊息顯示出版本號碼和著作權注意:

$ python3.3Python 3.3 (default, Sep 24 2012, 09:25:04)[GCC 4.6.3] on linux2Type "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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.