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 表示查询的字段不存在


  • 相关阅读:
    仿12306客户端
    object-c开发中混合使用或不使用ARC
    Objective-c 的 @property 详解
    iPhone的Push(推送通知)功能原理浅析
    Objective-C内存管理教程和原理剖析3
    IDEA 创建JAVA Maven Web 工程
    Linux CenOS 7 安装Redis
    Linux CenOS 7 安装Tomcat
    Linux CentOS 7 安装wordpress
    Linux CenOS 7 安装JDK
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/10889027.html
Copyright © 2011-2022 走看看