You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用os库将docker container ls -q的输出转为Python列表

实现方案

首先可以明确:完全可以通过os库实现该需求,但不要直接使用os.system(),该方法仅能返回命令的退出状态码,无法获取命令的标准输出结果,推荐使用os.popen()完成需求。

具体实现代码

import os

# 执行docker命令读取标准输出
cmd_output = os.popen("docker container ls -q").read()
# 转换为容器ID列表,自动过滤空行干扰
running_containers = [item.strip() for item in cmd_output.splitlines() if item.strip()]

运行状态校验逻辑

你可以直接通过列表是否为空判断是否有正在运行的容器:

if running_containers:
    # 存在运行中容器的后续逻辑
    print(f"当前存在 {len(running_containers)} 个运行中的Docker容器")
else:
    # 无运行中容器的后续逻辑
    print("当前没有正在运行的Docker容器")

注意事项

  • 运行脚本的环境需要提前安装Docker,且执行脚本的用户具备Docker命令的执行权限,否则会返回空列表
  • 如果需要捕获命令执行失败的场景,可以补充判断命令退出码:
handle = os.popen("docker container ls -q")
cmd_output = handle.read()
exit_code = handle.close()
if exit_code is not None:
    print("Docker命令执行失败,请检查环境配置")
else:
    running_containers = [item.strip() for item in cmd_output.splitlines() if item.strip()]

内容的提问来源于stack exchange,提问作者Kevin G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:51:04