zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    二维动规思想,j 具有明显枚举特征
    二分法题目总结
    最大(小)值最小(大)化 (二分法变形)
    C/ C++ 输入输出流
    正序扫描字符串问题
    React(基础一)_react中的三大属性
    找位置
    STL vector
    STL stack
    打印日期
  • 原文地址:https://www.cnblogs.com/WayneZeng/p/4422257.html
Copyright © 2011-2022 走看看