Python的subprocess模組提供了一種在Python程式中執行外部命令的方式。它允許我們與作業系統的命令列交互,並透過程式碼來控制和引用外部程式的輸出和行為。本文將介紹如何使用subprocess模組執行外部命令,並提供一些實用的程式碼範例。
要執行簡單的外部命令,可以使用subprocess模組的subprocess.call()
函數。這個函數在執行完外部指令後會回傳指令的退出狀態碼。
import subprocess # 执行一个简单的外部命令:获取当前目录下的文件列表 subprocess.call('ls')
如果想要取得外部指令的輸出結果,可以使用subprocess.check_output()
函數。這個函數會執行外部命令,並將其輸出作為函數的回傳值。
import subprocess # 执行外部命令:获取当前目录下的文件列表 output = subprocess.check_output('ls') print(output)
有時候,我們需要將輸入資料傳遞給外部命令,或從外部命令中獲取即時的輸出。 subprocess模組提供了Popen
類別來滿足這些需求。
import subprocess # 执行外部命令:使用cat命令将输入数据输出到标准输出 input_data = b'Hello, World!' process = subprocess.Popen(['cat'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) output, error = process.communicate(input=input_data) print(output)
當外部命令的參數包含空格時,需要將整個命令作為一個字串傳遞給 subprocess.call()
或subprocess.check_output()
函數。
import subprocess # 执行外部命令:计算一个数的平方 number = 10 subprocess.call('python -c "print({}**2)"'.format(number), shell=True)
在執行外部命令時,可能會出現一些錯誤,例如命令不存在或命令執行失敗。我們可以使用try-except語句來處理這些錯誤。
import subprocess # 执行外部命令:命令不存在 try: subprocess.check_output('nonexistent_command') except subprocess.CalledProcessError as e: print('Command execution failed:', e)
這些範例程式碼展示如何使用subprocess模組執行外部命令。使用subprocess模組可以使我們能夠輕鬆地與命令列交互,並靈活控制外部程式的行為。無論是簡單的命令還是複雜的任務,subprocess模組都可以幫助我們實現。
以上是Python 2.x 中如何使用subprocess模組執行外部指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!