zoukankan      html  css  js  c++  java
  • SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xd0 in position 2: invalid continuation byte

    [root@hostuser src]# python3 subprocess_popen.py
    File "subprocess_popen.py", line 23
    SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xd0 in position 2: invalid continuation byte

    #!/usr/bin/python3
    # coding=gbk
    import os
    import sys
    curPath = os.path.abspath(os.path.dirname(__file__))
    rootPath = os.path.split(curPath)[0]
    sys.path.append(rootPath)
    import subprocess
    from src import logutils
    
    def run():
        log=logutils.logger("app",rootstdout=True,handlerList=['I','E'])
        str_shell='df -m && netstat -ntlp'
        sub=subprocess.Popen(args=str_shell,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE,universal_newlines=True)
        out,err=sub.communicate()
        #res=sub.stdout.readlines()
        #log.info(res)
    
        if sub.returncode == 0:
            #log.info("returncode is 0,执行输出正常")
            if out:
              log.info("执行输出正常")
              log.info(out)
            if err:
              log.error("出现异常")
              log.error(err,exc_info=True)
        else:
          if sub.returncode == 1:
              log.error("执行shell对象结果有空")
          else:
              raise subprocess.CalledProcessError(sub.returncode, str_shell)
    
          
    
    if __name__ == '__main__':
        run()
    

      

    
    

    起初# -*- coding:utf-8 -*- 再运行还是报错,加上#coding=gbk问题完美解决

    关于subprocess.returncode:

    我总结的有以下几种情况

    returncode=0 表示执行成功

    returncode=1,表示执行结果为空

    returncode=127 表示语句为空串

    returncode=17 表示找不到表

    returncode=64 表示缺失关键字

    returncode=41 表示查询的字段不存在


  • 相关阅读:
    rgba()与opacity的区别
    BFC 和 margin collapse(重叠)
    CSS面试题整理
    HTML面试题整理
    box-sizing 和calc()
    怎样用一个标签制作多边框的按钮?
    github项目配置
    React之JSX
    angularjs指令系统系列课程(5):控制器controller
    angularjs指令系统系列课程(4):作用域Scope
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/10889027.html
Copyright © 2011-2022 走看看