一、調用解釋器
python解釋器通常安裝在如下目錄中:/user/local/bin/python。将/user/local/bin放在 指令行的搜尋路徑下(配置環境變量),這樣才能使用如下指令:
python
解釋器安裝的目錄是可選的。windows平台下,python通常預設安裝到C:\Python27下,當然你也可以安裝到其它目錄。在DOS視窗輸入如下指令以配置環境變量:
set path=%path%;C:\python27
Unix平台下輸入Control - I,Windows平台下輸入Control - Z 以退出解釋器。如果不起作用,可以輸入指令:
quit()
通常python解釋器的行編輯特性不很複雜。Unix平台下支援GNU讀行庫,這使得編輯功能更加強大。使用指令Control -P 可以快速檢查是否支援此種編輯方式。如果聽到“嘟”的一聲,就能用。如果什麼都沒聽到,并顯示 ^P ,那就不能用。
解釋器的操作方式有點類似于指令行的。當将連接配接到的tty裝置作為标準輸入時,解釋器将讀取鍵入的指令并執行它們;當把檔案當作标準輸入時,解釋器将讀取檔案内的腳本并執行它們。
另一種執行python指令的方式是
python -c python語句
因為python語句經常包括空格和可能影響shell腳本執行的特殊字元,是以建議将python語句用單引号括起來。
一些python子產品也是很有用的腳本。可以用指令
python -m 子產品
調用這些子產品。該指令将執行子產品的源檔案,就好像你在指令行中用了該檔案的全名而打開了此檔案一樣。
如果想了解更多指令,請使用指令
python -h
二、參數傳遞
腳本名和其它額外的參數會以字元串清單的形式存儲在 sys 子產品的 argv 數組中。你可以通過
import sys
指令通路這個清單。該清單的長度至少為1。如果沒有參數和腳本,
sys.argv[0]
的值是空字元串。如果腳本名是 ‘-’(代表标準輸入),
sys.argv[0]
的值是 ‘-’ 。如果使用了 -c 指令,
sys.argv[0]
的值是 ‘-c’ 。如果使用了 -m 指令,
sys.argv[0]
的值是被調用子產品的全名。- c 或 -m 後面的 option 選項不會被 python 解釋器銷毀,而是保留在 sys.argv 中作為指令或子產品來處理。
三、互動模式
當從 tty 讀取指令時,解釋器就處在互動模式下。通常用三個大于号(>>>)提示輸入一條指令。用三個點(…)提示可以輸入多行指令。
在輸入第一條 python 語句前,解釋器會先顯示出一條包含版本号,版權資訊的提示。如:
python
Python 2.7 (#1, Feb 28 2010, 00:02:06)
Type "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!
四、解釋器和環境
預設,python 源檔案以 UTF-8 的編碼存儲。盡管标準庫僅使用 ASCII 字元來顯示辨別符,但是用 UTF-8 編碼,世界上大部分語言符号都能以文字,辨別符,注釋的形式同時存在于一個檔案中。為了正常顯示所有字元,你的編輯器必須能識别 UTF-8 ,必須使用一種能表示所有字元的字型。
為檔案設定另一種編碼,應在該檔案第一行添加特殊聲明。文法如下:
# -*- coding: 編碼 -*-
編碼應是 python 支援的值。
編解碼器 | 别名 | 語言 |
ascii | 646, us-ascii | English |
big5 | big5-tw, csbig5 | Traditional Chinese |
big5hkscs | big5-hkscs, hkscs | Traditional Chinese |
cp037 | IBM037, IBM039 | English |
cp424 | EBCDIC-CP-HE, IBM424 | Hebrew |
cp437 | 437, IBM437 | English |
cp500 | EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500 | Western Europe |
cp720 | Arabic | |
cp737 | Greek | |
cp775 | IBM775 | Baltic languages |
cp850 | 850, IBM850 | Western Europe |
cp852 | 852, IBM852 | Central and Eastern Europe |
cp855 | 855, IBM855 | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
cp856 | Hebrew | |
cp857 | 857, IBM857 | Turkish |
cp858 | 858, IBM858 | Western Europe |
cp860 | 860, IBM860 | Portuguese |
cp861 | 861, CP-IS, IBM861 | Icelandic |
cp862 | 862, IBM862 | Hebrew |
cp863 | 863, IBM863 | Canadian |
cp864 | IBM864 | Arabic |
cp865 | 865, IBM865 | Danish, Norwegian |
cp866 | 866, IBM866 | Russian |
cp869 | 869, CP-GR, IBM869 | Greek |
cp874 | Thai | |
cp875 | Greek | |
cp932 | 932, ms932, mskanji, ms-kanji | Japanese |
cp949 | 949, ms949, uhc | Korean |
cp950 | 950, ms950 | Traditional Chinese |
cp1006 | Urdu | |
cp1026 | ibm1026 | Turkish |
cp1140 | ibm1140 | Western Europe |
cp1250 | windows-1250 | Central and Eastern Europe |
cp1251 | windows-1251 | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
cp1252 | windows-1252 | Western Europe |
cp1253 | windows-1253 | Greek |
cp1254 | windows-1254 | Turkish |
cp1255 | windows-1255 | Hebrew |
cp1256 | windows-1256 | Arabic |
cp1257 | windows-1257 | Baltic languages |
cp1258 | windows-1258 | Vietnamese |
euc_jp | eucjp, ujis, u-jis | Japanese |
euc_jis_2004 | jisx0213, eucjis2004 | Japanese |
euc_jisx0213 | eucjisx0213 | Japanese |
euc_kr | euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001 | Korean |
gb2312 | chinese, csiso58gb231280, euc- cn, euccn, eucgb2312-cn, gb2312-1980, gb2312-80, iso- ir-58 | Simplified Chinese |
gbk | 936, cp936, ms936 | Unified Chinese |
gb18030 | gb18030-2000 | Unified Chinese |
hz | hzgb, hz-gb, hz-gb-2312 | Simplified Chinese |
iso2022_jp | csiso2022jp, iso2022jp, iso-2022-jp | Japanese |
iso2022_jp_1 | iso2022jp-1, iso-2022-jp-1 | Japanese |
iso2022_jp_2 | iso2022jp-2, iso-2022-jp-2 | Japanese, Korean, Simplified Chinese, Western Europe, Greek |
iso2022_jp_2004 | iso2022jp-2004, iso-2022-jp-2004 | Japanese |
iso2022_jp_3 | iso2022jp-3, iso-2022-jp-3 | Japanese |
iso2022_jp_ext | iso2022jp-ext, iso-2022-jp-ext | Japanese |
iso2022_kr | csiso2022kr, iso2022kr, iso-2022-kr | Korean |
latin_1 | iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1 | West Europe |
iso8859_2 | iso-8859-2, latin2, L2 | Central and Eastern Europe |
iso8859_3 | iso-8859-3, latin3, L3 | Esperanto, Maltese |
iso8859_4 | iso-8859-4, latin4, L4 | Baltic languages |
iso8859_5 | iso-8859-5, cyrillic | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
iso8859_6 | iso-8859-6, arabic | Arabic |
iso8859_7 | iso-8859-7, greek, greek8 | Greek |
iso8859_8 | iso-8859-8, hebrew | Hebrew |
iso8859_9 | iso-8859-9, latin5, L5 | Turkish |
iso8859_10 | iso-8859-10, latin6, L6 | Nordic languages |
iso8859_11 | iso-8859-11, thai | Thai languages |
iso8859_13 | iso-8859-13, latin7, L7 | Baltic languages |
iso8859_14 | iso-8859-14, latin8, L8 | Celtic languages |
iso8859_15 | iso-8859-15, latin9, L9 | Western Europe |
iso8859_16 | iso-8859-16, latin10, L10 | South-Eastern Europe |
johab | cp1361, ms1361 | Korean |
koi8_r | Russian | |
koi8_u | Ukrainian | |
mac_cyrillic | maccyrillic | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
mac_greek | macgreek | Greek |
mac_iceland | maciceland | Icelandic |
mac_latin2 | maclatin2, maccentraleurope | Central and Eastern Europe |
mac_roman | macroman | Western Europe |
mac_turkish | macturkish | Turkish |
ptcp154 | csptcp154, pt154, cp154, cyrillic-asian | Kazakh |
shift_jis | csshiftjis, shiftjis, sjis, s_jis | Japanese |
shift_jis_2004 | shiftjis2004, sjis_2004, sjis2004 | Japanese |
shift_jisx0213 | shiftjisx0213, sjisx0213, s_jisx0213 | Japanese |
utf_32 | U32, utf32 | all languages |
utf_32_be | UTF-32BE | all languages |
utf_32_le | UTF-32LE | all languages |
utf_16 | U16, utf16 | all languages |
utf_16_be | UTF-16BE | all languages (BMP only) |
utf_16_le | UTF-16LE | all languages (BMP only) |
utf_7 | U7, unicode-1-1-utf-7 | all languages |
utf_8 | U8, UTF, utf8 | all languages |
utf_8_sig | all languages |
# -*- coding: cp-1252 -*-
#!/usr/bin/env python
# -*- coding: cp-1252 -*-