首页 文章详情

用Python 执行cmd命令

python教程 | 391 2020-12-29 12:41 0 0 0
UniSMS (合一短信)

我们通常可以使用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命令的详细内容

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter