zoukankan      html  css  js  c++  java
  • python之sys模块和subprocess模块

    # sys.path                                  # 可以把文件路径加入到环境变量

                                                        返回模块的搜索路径

     返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值


    # sys.argv                                 # 用来接收python解释器执行py文件后跟的参数



     

    #例如:python cp.py argv1 argv2 arg3              # python解释器运行

    #sys.argv=['cp.py','argv1','argv2','argv3']            #专门接受python解释器脚本后面的参数

    直接调用就可以

    import sys

    # print(sys.argv)
    # src_file=input('请输入源文件路径:')
    src_file=sys.argv[1]
    # dst_file=input('请输入目标文件路径:')
    dst_file=sys.argv[2]
    with open(src_file,'rb') as read_f,
        open(dst_file,'wb') as write_f:
        for line in read_f:
            write_f.write(line)

    进度条的打印:

    #=========实现打印进度条函数==========
    import sys
    import time
    
    def progress(percent,width=50):
        if percent >= 1:
            percent=1
        show_str=('[%%-%ds]' %width) %(int(width*percent)*'#')
        print('
    %s %d%%' %(show_str,int(100*percent)),file=sys.stdout,flush=True,end='')
    
    
    #=========应用==========
    data_size=1025
    recv_size=0
    while recv_size < data_size:
        time.sleep(0.1) #模拟数据的传输延迟
        recv_size+=1024 #每次收1024
    
        percent=recv_size/data_size #接收的比例
        progress(percent,width=70) #进度条的宽度70

    # import os
    # os.system('tasklist')           


    import subprocess                      #用于执行系统命令,并拿到结果
    import time

    格式:
    obj=subprocess.Popen(            
        'taskliasdfsadfst',                   命令
        shell=True,                           #必须
        stdout=subprocess.PIPE,       管道,执行成功通过管道传输出去
        stderr=subprocess.PIPE          管道,错误信息通过管道传输  


    )
    # print(obj)
    # stdout_res=obj.stdout.read()                      
    # print(stdout_res.decode('gbk'))    命令的结果是二进制的,需要通过解码显示
    # print(stdout_res)


    stderr_res1=obj.stderr.read()            结果取完一次就没有了
    stderr_res2=obj.stderr.read()
    stderr_res3=obj.stderr.read()
    # print(stderr_res1.decode('gbk'))
    print(stderr_res1)
    print(stderr_res2)
    print(stderr_res3)


    # import time
    # time.sleep(50)

  • 相关阅读:
    css-Less
    linux脚本启动应用
    Idea安装svn插件
    一、JSP九大内置对象 二、JAVAEE三层架构和MVC设计模式 三、Ajax
    一、HttpServletRequest接口 二、HttpServletReponse接口 三、POST和GET请求方式及其乱码处理 四、ServletContext对象和ServletConfig对象
    一、 JSP概述 二、JSP的语法结构 三、JSP内置对象
    一、动态网络编程的概念 二、Tomcat服务器搭建 三、Servlet组件介绍
    一、BOM 二、DOM
    一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象
    一、HTML概述 二、web相关的概念 三、HTML的常用标签
  • 原文地址:https://www.cnblogs.com/Marcki/p/10111953.html
Copyright © 2011-2022 走看看