• Python常见问题


    1. 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法

    "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)"

    解决办法,在该python文件的前面加上如下几句,问题得到解决

    #!/usr/bin/env python

    # -*- coding:utf8 -*-

    import sys
    default_encoding = 'utf-8'
    if sys.getdefaultencoding() != default_encoding:
        reload(sys)
        sys.setdefaultencoding(default_encoding)

    2.  /usr/bin/python^M: bad interpreter: No such file

    分析:
    这是不同系统编码格式引起的:在windows系统中编辑的.sh .py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。一般是因为windows行结尾和linux行结尾标识不同造成的。

    解决:
    1)在windows下转换: 
    利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。 
    2)linux下直接替换:
    sed -i 's/^M//g'  filename (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
    3)也可在Linux中转换: 
    首先要确保文件有可执行权限 
    #sh>chmod a+x filename 

    然后修改文件格式 
    #sh>vi filename 

    利用如下命令查看文件格式 
    :set ff 或 :set fileformat 

    可以看到如下信息 
    fileformat=dos 或 fileformat=unix 

    利用如下命令修改文件格式 
    :set ff=unix 或 :set fileformat=unix 

    :wq (存盘退出) 

    最后再执行文件 
    #sh>./filename

  • 相关阅读:
    求原根
    koa2-router中间件来请求数据获取
    koa2 快速开始
    如何修改host
    bzoj 2480——扩展BSGS
    bzoj 4128: Matrix ——BSGS&&矩阵快速幂&&哈希
    Ubuntu 16.04LTS 安装和配置Bochs
    2019ICPC徐州网络赛 A.Who is better?——斐波那契博弈&&扩展中国剩余定理
    求十亿内所有质数的和
    MYSQL的随机查询的实现方法
  • 原文地址:https://www.cnblogs.com/WayneZeng/p/9290740.html
Copyright © 2020-2023  润新知