Python 3 實踐 MAC Changer 還記得我們在 上一篇 鋪的哏嗎? 今天我們就來用 Python 實作 Mac Changer 看看! 先備知識 - Python 基於 Python 3.5 後的版本實踐,我們會需要認識一些新版本的函式。 subprocess.run(3.5版本以後加入) import subprocess subprocess.run(["ls", "-l", "/dev/null"], capture_output=True) 像是上述這個例子,經過逐步拆解,大致上會是這樣: 1. 使用 subprocess.run 執行系統指令 2. ["ls", "-l", "/dev/null"] 如同在終端機執行以下指令 ls -l /dev/null 意思是列出 /dev/null 這個文件的詳細資訊, capture_output=True 代表擷取標準輸出、標準輸入,但是因為這行程式並沒有儲存輸出,所以不會顯示結果(如下圖)。 如果拿掉 capture_output=True 就會跑出結果了(如下圖),讀者們可以試試看! 除此之外,如果想要保持原有設定,並把結果儲存到文字中,可以這樣寫: import subprocess result = subprocess.run(["ls", "-l", "/dev/null"], capture_output=True, text=True) print(result.stdout) 結果輸出會像是下圖: subprocess.check_output()(3.1版本以後加入) check_output() 「 自動啟用了 check=True 」,如果命令執行失敗(回傳碼 !== 0),它會拋出錯誤,而非靜默失敗。另外,有個好用的地方,就是 我們可以使用這個函式來獲取輸出的結果。 argparse(3.2版本以後加入) argparse 基本上就是一個用來解析命令列模組(CLI Arguments)的 Python 內建模組,讓我們的 Python script 可以支援不同的輸入選項,例如: ...