zoukankan      html  css  js  c++  java
  • python3基础07(进程操作及执行系统级命令等)

    #subprocess 创建子进程 连接输入 输出 管道错误,及获取他们的状态,可执行操作系统级的命令
    # subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False,
    # cwd=None, timeout=None, check=False, encoding=None, errors=None, env=None)

    stdin stdout stderr 文件描述符 或对象 subprocess.PIPE subprocess.DEVNULL None
    encoding默认字节,可设置编码
    shell为True,通过shell执行的命令
    args为字符串,必须指定shell=True
    args为字符串列表,不用指定shell,默认shell=False
    args为字符串列表,指定shell=True时,参数被忽略

    #返回的是CompletedProcess对象
    args 进程的参数
    returncode 状态码
    stdout 输出信息 为bytes,需要通过decdoe编码才正常显示字符串
    stderr 错误信息
    check_returncode 返回码


    ret = subprocess.run(['ipconfig', '/all'],stdout=subprocess.PIPE)
    result=bytes(ret.stdout).decode(encoding='gbk')
    print(result)

    print(sys.builtin_module_names)
    print(sys.modules)
    ret = subprocess.run(['ipconfig', '/all'], shell=True)


    s = subprocess.Popen("python", stdout=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
    s.stdin.write(b"import os ")
    s.stdin.write(b"print(os.environ)")
    s.stdin.close()

    out = s.stdout.read().decode("GBK")
    s.stdout.close()
    print(out)
  • 相关阅读:
    Oracle之PL/SQL学习笔记
    Git常用命令
    Web前端上万字的知识总结
    Objective-C中小怪兽的逻辑
    PHP精选数组函数
    数据库连接字符串方法
    WM_CAP_DRIVER_CONNECT
    GB2312/ANSI编码转中文字符
    opencv播放不了AVI视频的问题
    我的MFC/C++学习笔记 http://blog.bccn.net/CrystalFan/6909
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10085294.html
Copyright © 2011-2022 走看看