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
模块在许多场景下都非常有用,它允许你与外部程序和系统命令进行交互,从而实现更丰富的功能。