阅读量:2
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