我正在尝试通过python程序读取文件的内容

时间:2018-10-11 14:10:19

标签: python

问题与文本文件路径有关。 一旦我将文本文件复制到目录中 python程序并运行它,它成功运行。 这是代码->

ana=open("C:\Users\HP\Downloads\practice1.txt","r")
pj=ana.read()
ana.close()
pj=pj.splitlines()
print(pj)
for i in pj:
    print(i)

显示的错误是->

[unicode error] 'unicodeescape'  codec can't decode bytes in position 2-3:truncated\UXXXXXXXX escape

请帮助!

2 个答案:

答案 0 :(得分:0)

尝试以下任何一种方法:

ana=open(r'C:\Users\HP\Downloads\practice1.txt')
ana=open('C:\\Users\\HP\\Downloads\\practice1.txt')
ana=open('C:/Users/HP/Downloads/practice1.txt')

答案 1 :(得分:0)

反斜杠字符(\)在Python中以字符串(或字节)文字形式显示时具有特殊含义。反斜杠用于转义否则具有特殊含义的字符,例如换行符,反斜杠本身或引号字符。

ana=open("C:\Users\HP\Downloads\practice1.txt","r")

在您的示例中,Python尝试转义UHDp字符,因为它们前面有反斜杠!

幸运的是,Python为我们提供了一种语法,该语法使我们能够编写包含文字反斜杠字符的字符串。字符串和字节文字都可以选择以字母“ r”或“ R”为前缀;这样的字符串称为原始字符串,并将反斜杠视为原义字符。

ana=open(r"C:\Users\HP\Downloads\practice1.txt","r")

现在将反斜杠字符视为普通字符,并且不尝试转义。

您可以在有关文字https://docs.python.org/3/reference/lexical_analysis.html#literals的Python参考文档中阅读有关此内容的更多信息