学习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 字符操作符了,都能正常执行,为什么注释掉反而还报错呢?