Python的subprocess
模塊允許你啟動新的進程并與它們進行交互
subprocess
模塊可以用來執行系統命令,如你在終端中所做的那樣。例如,你可以使用subprocess.run()
函數執行一個簡單的命令并獲取其輸出:import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
subprocess
模塊與外部程序進行雙向通信。例如,你可以使用subprocess.Popen
類創建一個子進程,并通過管道與其進行交互:import subprocess
process = subprocess.Popen(['cat'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True)
process.stdin.write('Hello, World!\n')
process.stdin.flush()
output = process.stdout.readline()
print(output)
subprocess
模塊可以用來并行執行多個外部命令。例如,你可以使用subprocess.Popen
類創建多個子進程,并使用join()
方法等待它們完成:import subprocess
process1 = subprocess.Popen(['echo', 'Hello, World!'])
process2 = subprocess.Popen(['ls', '-l'])
process1.wait()
process2.wait()
subprocess
模塊可以用來執行其他語言的腳本,如C、C++、Java等。例如,你可以使用subprocess.run()
函數執行一個Python腳本:import subprocess
result = subprocess.run(['python', 'example.py'], capture_output=True, text=True)
print(result.stdout)
subprocess
模塊運行pip
或其他包管理器來安裝所需的庫:import subprocess
subprocess.run(['pip', 'install', 'requests'])
總之,subprocess
模塊在許多場景下都非常有用,它允許你與外部程序和系統命令進行交互,從而實現更豐富的功能。