python操作cmd

我们通常可以使用os模块的命令进行执行cmd

方法一:os.system

os.system(执行的命令)
# 源码
def system(*args, **kwargs): # real signature unknown
""" Execute the command in a subshell. """
pass

方法二:os.popen(执行的命令)

os.popen(执行的命令)

# 源码
def popen(cmd, mode="r", buffering=-1):
if not isinstance(cmd, str):
raise TypeError("invalid cmd type (%s, expected string)" % type(cmd))
if mode not in ("r", "w"):
raise ValueError("invalid mode %r" % mode)
if buffering == 0 or buffering is None:
raise ValueError("popen() does not support unbuffered streams")
import subprocess, io
if mode == "r":
proc = subprocess.Popen(cmd,
shell=True,
stdout=subprocess.PIPE,
bufsize=buffering)
return _wrap_close(io.TextIOWrapper(proc.stdout), proc)
else:
proc = subprocess.Popen(cmd,
shell=True,
stdin=subprocess.PIPE,
bufsize=buffering)
return _wrap_close(io.TextIOWrapper(proc.stdin), proc)

两者区别

  • system只把能输入的内容给返回回来了,其中代码 0 表示执行成功。但是我们没有办法获取输出的信息内容
  • popen可以获取输出的信息内容,它是一个对象,可以通过 .read() 去读取

最新文章

  1. jQuery树形菜单(1)jquery.treeview
  2. Oracle闪回技术(Flashback)
  3. HttpClient模拟http请求
  4. 题目1006:ZOJ问题
  5. Extension Method[下篇]
  6. Codeforces 385C Bear and Prime Numbers
  7. 加入商品分类信息,考虑用户所处阶段的 图模型 推荐算法 Rws(random walk with stage)
  8. Android NFC传输联系人VCF
  9. HTML5行业现状与未来 - 2016年终大盘点
  10. Vue深度学习(3)
  11. 基于ELK5.1(ElasticSearch, Logstash, Kibana)的一次整合测试
  12. redis集群结构图
  13. Java IO模型
  14. VS code 配置为 Python R LaTeX IDE
  15. axios请求、返回拦截器
  16. spring 和spring cloud 组成
  17. Matlab入门笔记(1)
  18. Qt5_当前exe所在路径
  19. 实力封装:Unity打包AssetBundle(三)
  20. 【MySQL】MySQL之MySQL5.7安装包(msi文件)在Windows8下安装

热门文章

  1. K-Fold 交叉验证
  2. 自学linux——11.shell入门
  3. Centos8 Tomcat 开机自启配置
  4. Oracle中使用虚拟表DUAL或XMLTABLE返回顺序数列
  5. 面试必知道的APP测试adb命令
  6. Java 执行控制流程
  7. [C++]-map和unordered_map
  8. gRPC学习之三:初试GO版gRPC开发
  9. 免费个人图床搭建gitee+PicGo
  10. springboot打包问题