Python 模塊 SYS 之二:運行時環境

Python 模塊 SYS 之二:運行時環境

sys 模塊提供了底層的接口API,可以和應用外部的系統互動。例如獲取命令行參數,接收用戶的輸入,往外部傳遞消息和狀態。

命令行參數


命令行上的參數,包括腳本的文件名,所有後面的參數,都可以通過 sys.argv 獲取。

Python 模塊 SYS 之二:運行時環境

輸出:

Python 模塊 SYS 之二:運行時環境

-d 參數是解釋器負責接收的一個標誌位,沒有傳入到程序裡面。

`argparse` 模塊是專門用來解析命令行參數的。

輸入輸出流


Python 和 Unix 一樣,默認可以訪問三種文件描述符。

  • stdin 是標準輸入流,通過從控制檯或者通過管道(pipeline)由第三方程序輸入。
  • stdout 是標準輸出流,通常輸出到控制檯或者通過管道為另一個程序輸入數據。
  • stderr 是標準錯誤流,輸出錯誤信息給用戶。
Python 模塊 SYS 之二:運行時環境

執行:

Python 模塊 SYS 之二:運行時環境

本例中,使用管道,將 hello.py 文件的內容輸入到 sys-stdio.py 程序中,通過輸入流 sys.stdin 調用讀取函數 read() 獲取到數據存儲到data。

然後 sys.stdout.write() 函數輸出 data 到控制檯,刷新數據。

最後使用 print() 函數,輸出數據到錯誤流 sys.stderr,默認指向控制檯。

print() 函數通過可選的參數 file,指定數據輸出到哪裡。

返回狀態


從應用中返回退出狀態,需要傳遞一個整數給 exit() 函數。

Python 模塊 SYS 之二:運行時環境

執行:

Python 模塊 SYS 之二:運行時環境

shell 變量 $? 返回上一個程序的退出值。


分享到:


相關文章: