在Python中執行Shell腳本有以下幾種方法:
os.system()
函數:這個函數可以執行shell命令,并返回命令的返回值。例如:import os
os.system('ls -l')
subprocess.run()
函數:這個函數可以執行shell命令,并返回一個CompletedProcess
對象,其中包含命令的返回值、輸出和錯誤輸出。例如:import subprocess
result = subprocess.run('ls -l', shell=True)
print(result.returncode) # 返回值
print(result.stdout) # 輸出
print(result.stderr) # 錯誤輸出
subprocess.Popen()
函數:這個函數可以執行shell命令,并返回一個Popen
對象,可以通過該對象的方法獲取命令的返回值、輸出和錯誤輸出。例如:import subprocess
proc = subprocess.Popen('ls -l', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
print(proc.returncode) # 返回值
print(stdout) # 輸出
print(stderr) # 錯誤輸出
os.popen()
函數:這個函數可以執行shell命令,并返回一個文件對象,可以通過該對象讀取命令的輸出。例如:import os
output = os.popen('ls -l').read()
print(output)
這些方法可以根據具體的需求選擇使用,其中subprocess.run()
和subprocess.Popen()
函數更加強大靈活,可以更好地處理命令的輸入、輸出和錯誤輸出。