如何通過命令列執行 Python 程式碼
本節講述的是通過命令列執行 Python 程式碼,至於如何執行檔案形式的 Python 腳本,你可以檢視如何通過命令列執行 Python 腳本檔案,模組,套件一節。
通過命令列執行 Python 程式碼
在命令列中輸入python
或python3
(或者指向 Python 的一些別名)並使用-c
參數,然後給出需要執行的 Python 程式碼,按下Enter後這些程式碼將被執行。
python -c <command>
python3 -c <command>
- command 參數值
command
參數值所表示的 Python 程式碼,可以是單行或多行的,其中多行效果需要通過換行字元來實作。在不同的命令列應用中,換行字元的表述可能不同,比如,在 PowerShell 中換行字元可表述為`n
。command
中的特殊字元需要進行逸出,比如,雙引號中的雙引號,單引號中的單引號,這需要根據具體的命令列應用來確定。當然,對於 Python 字串包含的特殊字元,依然可以使用\
進行逸出,如果\
本身是命令列的特殊字元,則應視具體情況決定是否首先逸出\
。另外,單行程式碼可以通過
;
組合多條陳述式,多行程式碼中每一行開頭的縮排與py
檔案的縮排含義相同。
逸出特殊字元
想要了解命令列中的逸出,你可以檢視程式設計指南的如何在命令列中逸出特殊字元一節。
在 PowerShell 中,我們簡單的使用程式碼輸出一段訊息。
# PowerShell
python -c "print('通過命令列執行程式碼!')"
通過命令列執行程式碼!
依然是在 PowerShell 中,下面的程式碼將變數a
和b
的指派陳述式,通過;
合併為一行,而if
陳述式則通過`n
被劃分為多行,print
函式前面的空白字元不能省略,否則會出現語法錯誤。
# PowerShell
python -c "a = int(input('A = '));b = int(input('B = '))`nif a > b:`n print('A 大於 B')`nelse: print('A 小於 B')"
A = 1
B = 3
A 小於 B
如果希望在 PowerShell 的雙引號中使用雙引號,那麽需要使用`"
進行逸出,正如下面所示的第一行程式碼。至於程式碼的另一行,雖然中間的兩個單引號不需要針對 PowerShell 逸出,但他們處於 Python 的單引號字串中,因此使用 Python 逸出字元\
進行逸出。
# PowerShell
python -c "print('傑瑞說:`"逸出 PowerShell 雙引號中的雙引號`"')"
傑瑞說:"逸出 PowerShell 雙引號中的雙引號"
python -c "print('傑瑞說:\'逸出 Python 單引號中的單引號\'')"
傑瑞說:'逸出 Python 單引號中的單引號'
在 UNIX/Linux/macOS 系統中,Shell 程式的逸出字元一般是\
,在書寫\\t
後,\\t
會被命令列逸出為\t
,而\t
將被 Python 逸出為定位字元。在書寫\\\\
後,\\\\
會被命令列逸出為\\
,而\\
將被 Python 逸出為\
。
# UNIX/Linux/macOS
python3 -c "print('傑瑞說:\\t逸出 Python 逸出字元\\\\')"
傑瑞說: 逸出 Python 逸出字元\
在互動模式中執行 Python 程式碼
什麽是 Python 互動模式?
你可以將 Python 互動模式視為一種命令列的實作,使用他就如同在編寫一個 Python 模組,可用於演示,教學或驗證某個想法。
在進入 Python 的互動模式後,你可以簡單的輸入 Python 程式碼,然後按下Enter來執行他,如果存在可供顯示的結果,那麽這些結果將展現在互動模式中。比如,某個變數或函式的傳回值。
當輸入的程式碼沒有完整到足以正常執行時,互動模式會要求補充剩余的程式碼,你可以在未輸入任何字元的情況下,再次按下Enter來執行之前所有的輸入。如果希望書寫一個空白行而不是結束輸入,那麽在按下Enter之前需要書寫至少一個空白字元(比如,一個空格)。
下面,我們使用input
函式要求使用者輸入姓名,並通過if
陳述式判斷輸入是否為空。
name = input('請輸入姓名:')
請輸入姓名:…Enter
if not name:
... print('沒有姓名?!')
...…Enter
沒有姓名?!
如何進入 Python 互動模式?
對於 Windows 作業系統,在命令列輸入python
後即可進入 Python 互動模式,對於 UNIX/Linux/macOS 系統,則需要輸入python3
。當然,除了python
和python3
,你也可以使用其他指向了 Python 的別名。
如何結束 Python 互動模式?
對於 Windows 系統,在 Python 互動模式中先後按下Ctrl+Z和Enter,將結束互動模式,對於 UNIX/Linux/macOS 系統,只需按下Ctrl+D即可。
如果site
模組在 Python 啟動時被匯入,那麽,在互動模式中輸入exit()
或quit()
同樣可以結束互動模式。事實上,匯入site
模組是預設的,除非你使用_pth
檔案覆寫了 Python 模組搜尋路徑,並且未在_pth
中書寫有效(不是註解)的import site
。
覆寫搜尋路徑
要取得關於_pth
檔案的資訊,你可以檢視Python 指南的如何使用 _pth 檔案覆寫 Python 模組搜尋路徑一節。
模組搜尋路徑
想要了解 Python 的模組搜尋路徑,你可以檢視Python 指南的Python 模組搜尋路徑介紹,Python 模組搜尋路徑中的目錄有哪些一節。