zoukankan      html  css  js  c++  java
  • Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated UXXXXXXXX escape

    Python运行后,报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated UXXXXXXXX escape

    原因:window 读取文件可以用,但是在字符串中是被当作转义字符来使用,经过转义之后可能就找不到路径的资源了,例如 会转义为tab键

    上代码:

    >>> def func1(path_name):
    ...     import os
    ...     if os.path.exists(path_name):
    ...         return "True"
    ...     else:
    ...         return "False"
    ...
    >>> func1("C:Users
    enyc")#会报错
      File "<stdin>", line 1
    SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated UXXXXXXXX escape
    >>>
    本例中:"C:Users
    enyc"经过转义之后就找不到路径的资源了。

    解决方法:

    >>> def func1(path_name):
    ...     import os
    ...     if os.path.exists(path_name):
    ...         return "True"
    ...     else:
    ...         return "False"
    ...
    >>> func1(r"C:Users
    enyc")#加上r,声明字符串,不用转义处理
    'True'
    >>> func1("C:\Users\renyc")#绝对路径的处理
    'True'
    >>>

    总结有三种方法:

    一:更换为绝对路径的写法
    func1("C:\Users\renyc")

    二:显式声明字符串不用转义(加r)
    func1(r"C:Users enyc")

    三:使用Linux的路径/
    func1("C:/Users/renyc")



  • 相关阅读:
    简单工厂
    Java鲁棒性(健壮性)
    外部类,成员内部类,局部内部类能被哪些修饰符修饰
    Java枚举类的7种常用的方法
    同步,异步,阻塞,非阻塞
    对于面向对象的基本理解
    对于数组的一点理解
    类加载机制-双亲委派机制(三)
    架构- 数据库的优化
    python调用jenkinsapi
  • 原文地址:https://www.cnblogs.com/rychh/p/9743864.html
Copyright © 2011-2022 走看看