python的subprocess用法有哪些

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模块的一些常见用法,还有其他更高级的用法和选项,可以参考官方文档了解更多信息。

阅读剩余
THE END