sys 模塊提供了底層的接口API,可以和應用外部的系統互動。例如獲取命令行參數,接收用戶的輸入,往外部傳遞消息和狀態。
命令行參數
命令行上的參數,包括腳本的文件名,所有後面的參數,都可以通過 sys.argv 獲取。
輸出:
-d 參數是解釋器負責接收的一個標誌位,沒有傳入到程序裡面。
`argparse` 模塊是專門用來解析命令行參數的。
輸入輸出流
Python 和 Unix 一樣,默認可以訪問三種文件描述符。
- stdin 是標準輸入流,通過從控制檯或者通過管道(pipeline)由第三方程序輸入。
- stdout 是標準輸出流,通常輸出到控制檯或者通過管道為另一個程序輸入數據。
- stderr 是標準錯誤流,輸出錯誤信息給用戶。
執行:
本例中,使用管道,將 hello.py 文件的內容輸入到 sys-stdio.py 程序中,通過輸入流 sys.stdin 調用讀取函數 read() 獲取到數據存儲到data。
然後 sys.stdout.write() 函數輸出 data 到控制檯,刷新數據。
最後使用 print() 函數,輸出數據到錯誤流 sys.stderr,默認指向控制檯。
print() 函數通過可選的參數 file,指定數據輸出到哪裡。
返回狀態
從應用中返回退出狀態,需要傳遞一個整數給 exit() 函數。
執行:
shell 變量 $? 返回上一個程序的退出值。
閱讀更多 趣喜歡編程 的文章