用Python 执行cmd命令

共 1052字,需浏览 3分钟

 ·

2020-12-29 12:41

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

方法一:os.system

  1. os.system(执行的命令)

  2. # 源码

  3. def system(*args, **kwargs): # real signature unknown

  4. """ Execute the command in a subshell. """

  5. pass

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

  1. os.popen(执行的命令)

  2.  

  3. # 源码

  4. def popen(cmd, mode="r", buffering=-1):

  5. if not isinstance(cmd, str):

  6. raise TypeError("invalid cmd type (%s, expected string)" % type(cmd))

  7. if mode not in ("r", "w"):

  8. raise ValueError("invalid mode %r" % mode)

  9. if buffering == 0 or buffering is None:

  10. raise ValueError("popen() does not support unbuffered streams")

  11. import subprocess, io

  12. if mode == "r":

  13. proc = subprocess.Popen(cmd,

  14. shell=True,

  15. stdout=subprocess.PIPE,

  16. bufsize=buffering)

  17. return _wrap_close(io.TextIOWrapper(proc.stdout), proc)

  18. else:

  19. proc = subprocess.Popen(cmd,

  20. shell=True,

  21. stdin=subprocess.PIPE,

  22. bufsize=buffering)

  23. return _wrap_close(io.TextIOWrapper(proc.stdin), proc)

两者区别

  • system只把能输入的内容给返回回来了,其中代码 0 表示执行成功。但是我们没有办法获取输出的信息内容

  • popen可以获取输出的信息内容,它是一个对象,可以通过 .read() 去读取

以上就是用Python 执行cmd命令的详细内容

浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报