SyntaxError: (unicode error) truncated \UXXXXXXXX escape

学习python中,写了一个很简单的python写文件程序:

try:
    fh = open(r'C:\Users\YangJun\workspace2\test\src\test\aaa.text', 'w')
    fh.write('adfasdasdfasdf')
    print(fh.name)
except Exception as ex:
    print(ex)
finally:
    fh.close()

经过测试能正常运行并写入字符串,接着边敲代码边学别的python知识点,把上面一段代码用多行注释符号”’……”’进行注释,再运行别的程序,这时程序抛出异常:

  File "C:\Users\YangJun\workspace2\test\src\test\study.py", line 119
    '''
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 24-25: truncated \UXXXXXXXX escape

觉得不科学,都注释了怎么注释了的内容报错,一开始以为是新代码写错了,只写一个最简单的print(‘hello world’),发现还是报这样的错,然后以为是注释符号使用了全角这样的输入法,最后也排除不是,网上一搜,原来是文件路径中,反斜杠 \u 报的错,在反斜杠后面再加一个反斜杠转义了就行了,经测试,注释后的代码不报错,去掉注释,也能正常读写文件:

fh = open(r'C:\\Users\YangJun\workspace2\test\src\test\aaa.text', 'w')

问题虽然解决,但仍有几个疑惑:
1. 已经注释了的代码,为什么python还能识别
2. 都使用 r 字符操作符了,都能正常执行,为什么注释掉反而还报错呢?

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值