• 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")



  • 相关阅读:
    Python时钟,计算程序运行时间
    关于等高线绘制和全平面坐标节点生成
    Springboot配置文件映射
    Docker和Rancher
    ElasticSearch story(二)
    Elastic Story(一)
    由数量众多照片拼贴而成的马赛克图片
    lnmp一键安装包配置laravel项目
    mysql 创建用户与授权、修改密码
    centos 安装 ntpdate 并同步时间
  • 原文地址:https://www.cnblogs.com/rychh/p/9743864.html
Copyright © 2020-2023  润新知