温馨提示×

python的subprocess用法有哪些

小亿
95
2023-08-01 11:16:08
栏目: 编程语言

Python的subprocess模块提供了一种在Python程序中创建和管理子进程的方式。以下是subprocess模块的一些常见用法:

  1. 运行外部命令或脚本:
import subprocess
subprocess.run(["ls", "-l"])  # 运行ls -l命令
subprocess.run("echo Hello, World", shell=True)  # 运行shell命令
  1. 获取命令输出:
import subprocess
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout)  # 输出命令的标准输出
print(result.stderr)  # 输出命令的标准错误
  1. 检查命令的返回值:
import subprocess
result = subprocess.run(["ls", "-l"])
if result.returncode == 0:
print("命令执行成功")
else:
print("命令执行失败")
  1. 设置子进程的工作目录:
import subprocess
subprocess.run(["ls", "-l"], cwd="/path/to/directory")
  1. 传递输入给子进程:
import subprocess
subprocess.run(["grep", "keyword"], input="This is a test", text=True)
  1. 等待子进程完成并获取退出状态码:
import subprocess
process = subprocess.Popen(["ls", "-l"])
process.wait()  # 等待子进程完成
exit_code = process.returncode  # 获取子进程的退出状态码
  1. 实时获取命令输出:
import subprocess
process = subprocess.Popen(["ls", "-l"], stdout=subprocess.PIPE, text=True)
for line in process.stdout:
print(line.strip())

以上是subprocess模块的一些常见用法,还有其他更高级的用法和选项,可以参考官方文档了解更多信息。

0