subprocess
是 Python 內置的庫,用于創建和管理新的子進程。它提供了一種在 Python 程序中調用外部命令和程序的方法。
subprocess
模塊的主要用法有以下幾種:
subprocess.run()
函數可以運行外部命令或程序,并等待其執行完成。例如:import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
subprocess.check_output()
函數可以運行外部命令,并獲取其輸出。例如:import subprocess
output = subprocess.check_output(['ls', '-l'])
print(output.decode())
subprocess.Popen()
函數可以創建子進程,并通過管道進行輸入和輸出的控制。例如:import subprocess
p = subprocess.Popen(['grep', 'hello'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = p.communicate(input=b'hello world')
print(output.decode())
subprocess.Popen()
函數結合 subprocess.PIPE
可以在后臺運行命令,并獲取其輸出。例如:import subprocess
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = p.communicate()
print(output.decode())
這些只是 subprocess
模塊的一些常見用法,還有其他一些函數和參數可以根據具體需求進行使用。對于更復雜的需求,可以查閱官方文檔以獲取更詳細的信息:https://docs.python.org/3/library/subprocess.html