美文网首页
python执行cmd命令-os.popen与subproces

python执行cmd命令-os.popen与subproces

作者: 273123e8cd8a | 来源:发表于2019-04-09 17:45 被阅读0次

    1. os.popen 命令

    python 内置的 os.popen 命令可以用于执行简单的命令。

    import os
    
    # 直接运行的命令,如:打开记事本
    os.popen('notepad')
    
    # 获得运行的log或结果,如:列出文件清单
    r = os.popen('tree')
    print(r.read())
    

    2. subprocess 模块

    复杂一点的命令可以使用 subprocess 模块,也是 python 内置的,可以对输入/输出进行操作;

    2.1 subprocess.call 命令

    import subprocess
    
    # 可显示运行log/结果
    subprocess.call('pip list', shell=True)
    
    # 可交互
    subprocess.call('pip uninstall pip', shell=True)
    
    # 返回值为错误代码
    retcode = subprocess.call('tree', shell=True)
    print(retcode)
    

    2.2 subprocess.Popen 命令

    import subprocess
    
    # 获得运行结果,一次读取所有,要等待命令运行结束
    p = subprocess.Popen('ping baidu.com', shell=True, stdout=subprocess.PIPE).stdout
    print(p.read().decode('gbk'))
    
    # 获得运行结果,一次读取一行
    p = subprocess.Popen('ping baidu.com', shell=True, stdout=subprocess.PIPE)
    for line in iter(p.stdout.readline, b''):
        print(line.strip().decode('gbk'))
    

    subprocess.Popen 参数比较复杂,更多用法参见:
    帮助文档

    相关文章

      网友评论

          本文标题:python执行cmd命令-os.popen与subproces

          本文链接:https://www.haomeiwen.com/subject/lnabiqtx.html