zoukankan      html  css  js  c++  java
  • Python

    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() 去读取
  • 相关阅读:
    C# 冒泡排序
    C# IO流 File.Exists,Directory.Exists, File.Create,Directory.CreateDirectory
    UGUI 哪些显示在前方的问题
    UGUI Image血条或者进度条效果
    Unity 切换场景的时候让某个游戏对象不消失
    C# string型的转换成float型的
    Json 解析Json
    logging模块

    模块和包
  • 原文地址:https://www.cnblogs.com/poloyy/p/12641547.html
Copyright © 2011-2022 走看看