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)
  • 相关阅读:
    work_27_一次springBoot+orcal+Mabits PageHele的使用
    work_26_swagger2整合springBoot和使用
    work_25_docker--RabbitMq消息队列
    work_24_MYSQL从create table... 到分库分表
    work_23_常用的工具类
    work_22_MySQL分库分表的初识
    work_21_AtomicInteger API
    work_20_stream的使用
    MySQL 基础语句的练习2
    MySQL 基础语句的练习
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10085294.html
Copyright © 2011-2022 走看看