1.python操作cmd
我们通常可以使用os模块的命令进行执行cmd
2.方法一:os.system
os.system(执行的命令)
# 源码
def system(*args, **kwargs): # real signature unknown
""" Execute the command in a subshell. """
pass
3.方法二:os.popen(执行的命令)
os.popen(执行的命令)
#遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
#寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
# 源码
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)
3.两者区别
- system只把能输入的内容给返回回来了,其中代码 0 表示执行成功。但是我们没有办法获取输出的信息内容
- popen可以获取输出的信息内容,它是一个对象,可以通过 .read() 去读取