python 2.7 中文教程 - 解譯器

來源:互聯網
上載者:User

標籤:

調用python解譯器

Python的解譯器在linux上通常安裝在/usr/bin/python,/usr/local/bin/python,/usr/local/bin/python等地方。Windows一般位於C:\Python27,且一般需要設定PATH環境變數。

#[email protected]:[/root]#pythonPython 2.7.5 (default, Jun 17 2014, 18:11:42) [GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>>

退出解譯器:Linux上Control-D,Windows上Control-Z,統一的方式:quit()。

解譯器的行編輯功能並不複雜。在Unix上,解譯器可能已啟用了GNU readline庫,它增加了更多的互動編輯和記錄功能。輸入Control-P,如果發出嗶嗶聲表示支援readline;見附錄互動式輸入編輯和曆史替換https://docs.python.org/2/tutorial/interactive.html#tut-interacting。

解譯器的操作有些像Unix Shell:當標準輸入串連到tty裝置時,它讀取並以互動方式執行命令;當檔案名稱參數或以檔案作為標準輸入裝置時,它讀取並執行檔案中指令碼。 有 啟動解譯器的第二個方法是python -c command [arg] ...,執行command中的語句,等同於Shell的-c選項。因為Python語句通常會包括空格或其他shell的特殊字元是特殊的外殼,建議使把command放在單引號中。

一些Python模組也作為指令碼使用:python -m module [arg] ...。

使用指令檔時,-i參數可以進入互動模式。

參數傳遞

指令碼名和附加參數轉換成字串列表傳遞給sys模組中的argv變數。您可以通過執行匯入系統訪問這個列表。列表的長度是一,在無指令碼無參數時,sys.argv中[0]是一個Null 字元串。當指令碼名為"-"(意思是標準輸入),sys.argv中[0]為"-"。使用-c參數時,sys.argv中[0]設定為‘-c‘。i使用-m參數sys.argv中[0]設定為模組的全名。-c或-m之後的選項不為Python解譯器的選項處理消耗處理,但留在sys.argv中留待命令或模組來處理。

互動模式

當tty讀取命令時解譯器為互動模式。主命令提示字元為(>>>),從命令提示字元(...)用於續行。

#pythonPython 2.7.5 (default, Jun 17 2014, 18:11:42) [GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> the_world_is_flat = 1>>> if the_world_is_flat:...     print "Be careful not to fall off!"... Be careful not to fall off!>>>
解譯器及其環境 錯誤處理

當錯誤發生時,解譯器列印錯誤資訊和棧跟蹤。在互動模式下,它返回主提示符;在檔案輸入時,列印棧跟蹤器後以非零退出狀態退出。有些錯誤致命的,無條件以非零退出的退出,比如內部不一致和記憶體耗盡。所有的錯誤資訊都寫入標準錯誤流;正常輸出寫入標準輸出。

輸入中斷符(通常是Control-C或DEL)可以取消輸入,命令執行時輸入中斷引發一個KeyboardInterrupt異常。

執行python指令碼

Linux系統中,Python指令碼可直接執行,就像shell指令碼,在檔案首行添加如下:

#! /usr/bin/env python

並添加可執行許可權:

chmod +x myscript.py

Windows系統中Python的安裝程式會自動關聯*.py到python.exe,雙擊即可運行。*.pyw則不會出現windows控制台。

源碼編碼

使用的編碼ASCII以外的字元Python的源檔案,可以在行#!之後定義源檔案編碼:

# -*- coding: encoding -*-

根據這個聲明,源檔案中的所有字元將用該編碼的編碼,並可能在用選定的編碼書寫Unicode字串。編碼列表可以在Python庫參考手冊的codecshttps://docs.python.org/2/library/codecs.html#module-codecs部分找到。執行個體:

# -*- coding: iso-8859-15 -*-currency = u"€"print ord(currency)

一般推薦使用utf-8的格式,在網路上比較通用,特殊的中文處理可以使用gbk。為了正確顯示所有的字元,編輯器必須支援utf-8等格式,並有相應的字型。

互動式開機檔案

互動式使用Python的時候,常常需要在解譯器啟動時執行一些標準命令。可設定環境變數PYTHONSTARTUP表示啟動命令檔案,類似Unix shell的.profile檔案。

檔案只對互動會話有效,當 Python 從指令碼中讀取命令或以終端/dev/tty做為外部命令源(行為和互動式會話類似)。它與解譯器執行的命令在同一命名空間,這樣它定義或匯入的對象可以在 解譯器中使用。也可以在這個檔案中改變提示符sys.ps1和sys.ps2。

載入其他檔案的方式: if os.path.isfile(‘.pythonrc.py‘): execfile(‘.pythonrc.py‘) 。在指令碼中使用開機檔案如下:

import osfilename = os.environ.get(‘PYTHONSTARTUP‘)if filename and os.path.isfile(filename):    execfile(filename)
自訂模組

Python有兩個hook: sitecustomize 和 usercustomize。使用它們首先需要知道site-packages目錄,方法如下:

>>> import site>>> site.getusersitepackages()‘/root/.local/lib/python2.7/site-packages‘

現在你可以在site-packages的目錄下建立檔案usercustomize.py,放入你想添加的任何內容。 該檔案會影響 python 的每次調用,除非啟動的時候加入-s選項禁止自動匯入。

類似的有sitecustomize,但是一般由管理員在全域site-packages建立,在usercustomize之前置入,更多資料參見site模組https://docs.python.org/2/library/site.html#module-site。


聯絡徐榮中 python開發自動化測試群113938272 微博 http://weibo.com/cizhenshi。

原英文地址:https://docs.python.org/2/tutorial/


python 2.7 中文教程 - 解譯器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.