目录
一. 问题描述
0. 问题背景
笔者出现问题是在windows10系统下运用Geany编辑器写的一段python小代码
1. 源代码展示
# absolute file path try
file_path = 'E:\uesless\pi_digits.txt'
with open(file_path) as file_object:
contents = file_object.read()
print(contents.rstrip())
2. 错误类型展示
File "E:\编程学习\python学习\第十章 文件和异常\绝对文件路径.py", line 3
file_path = 'E:\uesless\pi_digits.txt'
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \uXXXX escape
3. 错误类型解读
语法错误:(unicode 错误)'unicodeescape'编译器不能解码位于2 - 4处的代码(你的文件路径)
二. 解决办法
1. 源代码修改
在文件路径单引号的前方加一个小写r(本人亲测大写也可以)
# absolute file path
file_path = r'E:\uesless\pi_digits.txt'
with open(file_path) as file_object:
contents = file_object.read()
print(contents.rstrip())
2. 修改后运行展示
3.1415926535
8979323846
2643383279
------------------
(program exited with code: 0)
请按任意键继续. . .
三. 问题解析
由于windows在文件路径上采用的是反斜杠\,另外在Python中反斜杠同样被视为转义字符的存在,因此当你文件路径采用字符串格式时二者就存在矛盾,让编译器不知道怎么解码,故发生错误。windows系统下,为确保万无一失,即提供了在开头单引号前加入r的方式区分。
四. 博客反思
这是本人第一次书写博客,很开心能够同大家一起交流。但由于本人初学水平实在有限,因此博客中会存在许多错误,希望大家能够积极批评指正,同时也希望能够对大家有些许帮助!谢谢!