Python的subprocess模块提供了一种在Python程序中创建和管理子进程的方式。以下是subprocess模块的一些常见用法:
- 运行外部命令或脚本:
import subprocess subprocess.run(["ls", "-l"]) # 运行ls -l命令 subprocess.run("echo Hello, World", shell=True) # 运行shell命令
- 获取命令输出:
import subprocess result = subprocess.run(["ls", "-l"], capture_output=True, text=True) print(result.stdout) # 输出命令的标准输出 print(result.stderr) # 输出命令的标准错误
- 检查命令的返回值:
import subprocess result = subprocess.run(["ls", "-l"]) if result.returncode == 0: print("命令执行成功") else: print("命令执行失败")
- 设置子进程的工作目录:
import subprocess subprocess.run(["ls", "-l"], cwd="/path/to/directory")
- 传递输入给子进程:
import subprocess subprocess.run(["grep", "keyword"], input="This is a test", text=True)
- 等待子进程完成并获取退出状态码:
import subprocess process = subprocess.Popen(["ls", "-l"]) process.wait() # 等待子进程完成 exit_code = process.returncode # 获取子进程的退出状态码
- 实时获取命令输出:
import subprocess process = subprocess.Popen(["ls", "-l"], stdout=subprocess.PIPE, text=True) for line in process.stdout: print(line.strip())
以上是subprocess模块的一些常见用法,还有其他更高级的用法和选项,可以参考官方文档了解更多信息。