个人笔记,大佬勿喷

关于介绍,网上一堆,可自行百度

这里记录一下popen()接受命令返回值及处理,我想要的值是docker的ID

$ docker ps -q
2d3586a30e7e
03f1ca1331c7

但是使用python调用的时候没法直接得到这个结果,所以想要获取这个数据

#导入os这个模块
In [8]: import os #使用popen接受docker ps -q这个命令的返回值
In [9]: a = os.popen('docker ps -q')                                                                                                              #先预读一下,但是每次使用必须重新赋值,不然就没有了
In [10]: a.read()
Out[10]: '2d3586a30e7e\n03f1ca1331c7\n'     #这是个字符串类型In [11]: a = os.popen('docker ps -q')                                                                                                             #使用换行分割,可以发现,最后多了一个空元素
In [12]: a.read().split('\n')
Out[12]: ['2d3586a30e7e', '03f1ca1331c7', '']In [13]: a = os.popen('docker ps -q')                                                                                                             #使用readlines读取可以看到没有空元素,但是每个元素后有一个换行符
In [14]: a.readlines()
Out[14]: ['2d3586a30e7e\n', '03f1ca1331c7\n']In [20]: a = os.popen('docker ps -q')                                                                                                             #对数据进行处理,可以得到我们想要的结果
In [21]: b = [i[0:-2] for i in a.readlines()]                                                                                                     In [22]: b
Out[22]: ['2d3586a30e7', '03f1ca1331c']

subprocess这个就比较方便了

In [1]: import subprocess                                                       In [2]: subprocess.getoutput('docker ps -q').split('\n')
Out[2]: ['2d3586a30e7e', '03f1ca1331c7']

可以直接将命令的返回值保存出来,避免了数据处理

Python3的os.popen()与subprocess使用(关于数据处理)相关推荐

  1. windows popen 获取不到输出_彻底明白os.system、os.popen、subprocess.popen的用法和区别...

    Hello,大家好,沉寂许久,我又来了,这次给大家分享的就是上述三个方法的使用范围和区别,不熟悉的可以在这个地方画一个圆满的句号了. os.system 首先来看这个函数的文档说明 是说是在一个子sh ...

  2. python 执行命令,并获取结果及执行状态(os.popen、subprocess.Popen、os.system)

    使用时的数据记录整理,有问题请跳过 一.模块 os.popen.subprocess.Popen.os.system 二.具体操作 1. os.popen() import osr = os.pope ...

  3. python中os.system、os.popen、subprocess.popen的区别

    最近项目中需要在python中执行shell脚本,以下解释使用os.system. os.popen和subprocess.popen的区别: 1.os.system 该函数返回命令执行结果的返回值, ...

  4. Python中 os.popen、os.system和subprocess.popen方法介绍

    Python 提供了多种与操作系统交互的方法,比如os模块中的popen和system方法,此外,Python subprocess模块中的Popen类也提供了与操作系统交互的方法,使用起来更加灵活, ...

  5. Python3.X subprocess、os.system/os.popen/os.spawn*、commands:与系统进行交互,如测试时常用的adb命令

    如需转载请注明出处. win10 64位.Python 3.6.3.Sublime Text 3. 一.首先明白一些概念: 1.操作系统(OS,operating system). 是管理和控制计算机 ...

  6. python3 subprocess_Python 3.4.3 subprocess.Popen获取命令输出而不管道?

    使用pexpect: 2.py: import sys if sys.stdout.isatty(): print('hello') else: print('goodbye') 子: import ...

  7. Python 技术篇-通过管道命令获取cmd执行的结果,获取os.system()、subprocess.Popen()执行命令返回的结果

    正常的 os.system() 执行完后只会返回个执行状态值,返回的 0 表示执行成功,1 表示执行失败. 如果想要获取到执行后的结果集,就需要用到管道命令 os.popen(),然后用 read() ...

  8. python执行系统命令的方法_python执行系统命令的方法 :os.system(),subprocess.popen(),command...

    最近接触到os.system(),subprocess.popen()和commands来执行系统命令,从网上搜索到许多,现整理如下. 1. 使用os.system("cmd") ...

  9. [Python] os.poen和subprocess.popen

    用途: 在python中执行shell脚本 os.system 该函数返回命令执行结果的返回值,system()函数在执行过程中进行了以下三步操作:  1.fork一个子进程:  2.在子进程中调用e ...

  10. python3使用subprocess_python3中使用subprocess模块执行外部命令

    一. subprocess模块介绍 1. subprocess模块可以替代os模块下的os.system和os.popen等操作方法 2. subprocess模块在python2和python3上的 ...

最新文章

  1. Maven学习(六):灵活的构建
  2. hadoop使用mapreduce统计词频_深圳嘉华学校之Hadoop简介(什么是Map-Reduce-Mapreduce-about云开发)...
  3. 满园尽是503,记曾经的一次IIS 7性能考验
  4. 在Linux上安装Python 3
  5. 【论文写作】轻松搞掂IEEE系列期刊的文章模板
  6. AUTOSAR从入门到精通100讲(四十)-嵌入式中的CAN总线
  7. csdn markdown 编辑器开启
  8. Hibernate使用原生SQL适应复杂数据查询
  9. 你应该知道的 iTerm2 使用方法--MAC终端工具
  10. python xlrd模块
  11. excel首行空不能导入access_EXCEL数据无法导入ACCESS的解决办法
  12. SolidWorks软件远程安装协助
  13. 从数据备份恢复来看,iCloud和iTunes到底有什么区别?
  14. r语言变量长度不一致怎么办_R语言实现数据离散化方法总结
  15. MA8601 无需更改电路直接pin√pin替代FE8.1s方案
  16. S3C2440-GPIO和jlink配置
  17. 【GameObject 类】 (四)SetActive 显示 / 隐藏游戏对象
  18. VBoxManage 命令详解 (有用)
  19. 海量高性能列式数据库HiStore技术架构解析
  20. 1505_TC275参考手册阅读笔记_调试系统

热门文章

  1. 深度学习6-自定义层详解
  2. 腾讯看点CTO徐羽: QQ浏览器背后的推荐AI中台 | AICon
  3. android rsa最大加密明文大小_Android 登录密码信息进行RSA加密示例
  4. html页面如何复用,html代码用js实现复用
  5. matlab liccode,车牌识别的matlab程序--(详细注释,并有使用注意点)
  6. Linux驱动编程操作GPIO的简要说明
  7. Usb设备驱动5:usb-firmware简易框架
  8. 170824、storm 环境搭建
  9. linux配置网络参数
  10. C++中的模板那点事