在Python中,使用subprocess
模塊可以調用系統命令并與其交互。下面是一些常見的使用方法:
import subprocess
output = subprocess.check_output(['ls', '-l'])
print(output.decode())
上述代碼執行ls -l
命令,并將輸出結果以字節形式保存在output
變量中。使用decode()
方法將字節轉換為字符串并打印輸出。
import subprocess
return_code = subprocess.call(['ls', '-l'])
print(return_code)
上述代碼執行ls -l
命令,并將返回值保存在return_code
變量中。返回值為0表示命令成功執行,非0表示執行失敗。
import subprocess
try:
output = subprocess.check_output(['command'])
except subprocess.CalledProcessError as e:
print(e.returncode)
print(e.output.decode())
上述代碼執行command
命令,并捕獲可能的錯誤。如果命令執行成功,將輸出保存在output
變量中,否則將返回值保存在e.returncode
中,錯誤信息保存在e.output
中。
import subprocess
filename = 'example.txt'
subprocess.call(['touch', filename])
上述代碼執行touch
命令,并傳遞參數filename
,在當前目錄下創建一個名為example.txt
的文件。
import subprocess
input_data = 'Hello World!'
output = subprocess.check_output(['grep', 'World'], input=input_data.encode())
print(output.decode())
上述代碼執行grep 'World'
命令,并將input_data
作為輸入傳遞給命令。輸出結果包含World
的行將被保存在output
變量中。
這只是subprocess
模塊的一些基本用法,還有很多其他功能可以探索。請查閱官方文檔以獲得更詳細的信息:https://docs.python.org/3/library/subprocess.html